4.2.1 包的概念、导入与可见性
1. 每个go文件都仅属于一个包。
2. 一个包可能由多个go文件组成。
3. go源文件的非注释的第一行必须声明该文件属于哪个包,如 package main 。
4. 一个应用程序可以包含不同的包,main包的源文件,如app.go 可以编译成可执行文件app.exe, 其他包的文件如 test.go 可以编译成库文件test.a。
5. 所有的包名都应该使用小写字母。


标准库
包名不是以 . 或 / 开头,如 "fmt" 或者 "container/list",则 Go 会在全局文件进行查找
包名以 ./ 开头,则 Go 会在相对目录中查找
包名以 / 开头(在 Windows 下也可以这样使用),则会在系统的绝对路径中查找。
可见性
当标识符(包括常量、变量、类型、函数名、结构字段等等)以一个大写字母开头,如:Group1,那么使用这种形式的标识符的对象就可以被外部包的代码所使用(客户端程序需要先导入这个包),这被称为导出(像面向对象语言中的 public);标识符如果以小写字母开头,则对包外是不可见的,但是他们在整个包的内部是可见并且可用的。
设置包的别名(可以解决包冲突问题)
import fm "fmt"
4.2.2 函数
1. 可以在括号 () 中写入 0 个或多个函数的参数(使用逗号 , 分隔),每个参数的名称后面必须紧跟着该参数类型。
2. init() 函数则会先执行
3. 只有当某个函数需要被外部包调用的时候才使用大写字母开头
4. 一个函数可以拥有多返回值,返回类型之间需要使用逗号分割,并使用小括号 () 将它们括起来,如:
funcFunctionName(a typea,b typeb)(t1 type1,t2 type2)
返回的形式:
return var1,var2
网友评论