main函数类似是一个入口
-
package
是最基本的分发单位和工程管理中依赖关系的体现 - 每个Go语言源代码文件开头都拥有一个
package
声明,表示源代码文件所属代码包 - 要生成Go语言可执行程序,必须要有
main
的package
包,且必须在该包下有main()
函数 - 同一个路径下只能存在一个
package
,一个package
可以拆分成多个源文件组成
Go工程中共有三个文件夹,分别是:src
、pkg
、bin
。
src
:存放Go源码文件
pkg
:存放编译后的包文件
bin
:存放编译后的可执行文件src目录需要手动创建,一般pkg
和bin
目录不需要创建,编译时会自动创建。
由于当前章节视频中没有真正的执行install,所以代码直接放在工程目录下build暂时还没有报错。如果执行install的话就会报错了。
Go语言基础语言--import
import
语句可以导入源代码文件所依赖的package
包;不得导入源代码文件中没有用到的
package
,否则Go语言编译会报编译错误
主要有两种格式
第一种:
import "package1"
import "package2"
import "package3"
第二种:
import (
"package1"
"package2"
"package3"
)
Go语言基础语法---import原理
- 如果一个
main
导入其他包,包将被顺序导入 - 如果导入的包中依赖其它包
(package B)
,会首先导入B
包,然后初始化B包中常量和变量,最后如果B包中有init,会自动执行init()
- 所有包导入完成后才会对
main
中常量和变量进行初始化,然后执行main
中的init
函数(如果存在),最后执行main
函数 - 如果一个包被导入多次则该包只会被导入一次
Go语言 基础语法---import别名," . "
," _ "
-
别名操作的含义:将导入的包命名为另一个容易记忆的别名
package main import ( imooc "fmt" //package 别名命名方法 ) func main(){ imooc.Print("Hello World!") }
-
点
.
操作的含义是:点.
标识的包导入后,调用该包中函数时可以省略前缀包名 ---不建议用,容易混淆package main import( . "fmt" //点`.` ) func main(){ Print(a:"hello imooc") //调用该包中函数时可以省略前缀包名fmt }
下划线
_
操作的含义是:导入该包,但不导入整个包,而是执行该包中的init
函数,因此无法通过包名来调用包中的其他函数.使用下划线_
操作往往是为了注册包里的引擎,让外部可以方便地使用,
GO语言--数据类型
- 数据类型,字符串类型和布尔型
- 派生类型
- 类型零值和类型别名
- 类型所占存储大小
一个字节是8位
- 整型,浮点型,复数,字符串和布尔型
数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存
布尔型的值只可以是常量
true
或者false
.一个简单的例子:var a bool = true
字符串类型
string
,编码统一为UTF-8
- 派生类型
- 指针类型(Pointer)
- 数组类型
- 结构化类型(struct)
- Channel类型(chan)
- 函数类型(func)
- 切片类型(slice)
- 接口类型(interface)
- May类型(map)
- 类型零值和类型别名
- 类型零值不是空值,而是某个变量被声明后的默认值,一般情况下,值类型的默认值为
0
,布尔型默认值为false
,string
默认值为空字符串 - 可以对类型设置别名
package main
type imooc int32
funct main(){
var i imooc //imooc就是int32的别名
}
有疑问加站长微信联系(非本文作者)