包的概念
Golang的包概念和Python一样,把相同功能的代码都放到一个目录,称之为包,包可以被其它包引用,main包(main.go)是用来生成可执行文件,每个程序只有一个main包,而在main包里只有一个main函数,包的主要用途是提供代码可复用性,如果某个包的函数或者变量需要被调用那么函数或者变量名首字母必须是大写的,而不是小写。
包的导入
要在代码中引用其他包的内容,需要使用 import 关键字导入使用的包。具体语法如下:
import "包的路径"
注意事项:
- import 导入语句通常放在源码文件开头包声明语句的下面;
- 导入的包名需要使用双引号包裹起来;
- 包名是从GOPATH/src/ 后开始计算的,使用/ 进行路径分隔。
单行导入
import "包1的路径"
import "包2的路径"
多行导入
import (
"包1的路径"
"包2的路径"
)
包的别名
import (
a "go_dev/calc" // 为这个包起一个别名为:a
)
func main(){
num := a.Add(1,2) // 通过别名引用
fmt.Println(num)
}
包的实战
如目录结构如下:
>src
>test
>calc
>add.go
>sub.go
>main
>main.go
add.go
package calc
func Add(a,b int) int {
return a + b
}
sub.go
package calc
func Sub(a,b int) int {
return a - b
}
main.go
package main
import (
"test/calc"
"fmt"
)
func main(){
sum := calc.Add(10,20)
sub := calc.Sub(300,100)
fmt.Println("sum=",sum)
fmt.Println("sub=",sub)
}