工程管理
一. 工作区
1. 介绍
- 分文件编程(多个源文件)
- 必须放在src目录
- 同一个目录,包名必须一样
- 同一个目录,调用别的文件的函数,直接调用即可,无需包名引用
- 不同目录,包名不一样
- 调用不同包里面的函数,格式:包名.函数名()
- 调用别的包的函数,这个包函数名字如果是小写,无法让别人调用,要使之可以调用,需要首字母大写
2. GOPATH环境变量
- go env查看go相关的环境变量
- 代码之间通过绝对代码包路径调用
- 需要先把所需工程的根目录加入到环境变量GOPATH中
- 多个目录的时候
- Windows是分号;
- Linux系统是冒号:
- 有多个GOPATH时
- 默认会将go get的内容放在第一个目录下
二. 包
1. 自定义包
2. main包
- 所有用 Go 语言编译的可执行程序都必须有一个名叫 main 的包
- 一个可执行程序有且仅有一个 main 包
3. main函数和init函数
- Go里面有两个保留的函数:
- init函数:能够应用于所有的package)
- main函数:只能应用于package main)
- 这两个函数在定义时不能有任何的参数和返回值
- 强烈建议用户在一个package中每个文件只写一个init函数
- Go程序会自动调用init()和main()
4. 导入包
- 方法一:
import "fmt" import "calc"
- 方法二:
import { "fmt" "calc" }
- 点操作
import { . "fmt" }
- 点操作的含义是这个包导入之后在你调用这个包的函数时,可以省略前缀的包名
- 别名操作
- 在导⼊时,可指定包成员访问⽅式,⽐如对包重命名,以避免同名冲突
import ( io "fmt" //fmt改为为io ) func main() { io.Println("hello go") //通过io别名调用 }
- _操作
- _操作其实是引入该包,而不直接使用包里面的函数
- 是调用了该包里面的init函数。
import ( _ "fmt" )
三、其他
- go instal :
- 在源码目录执行
- 自动生成bin或pkg目录
- 除了需要配置GOPATH环境变量,还有配置GOBIN环境变量
- src: 放源代码
- bin: 放可执行程序
- pkg: 放平台相关的库