1)在给一个文件打包时,该包对应一个文件夹,比如这里的utils文件夹对应的包名就是utils,文件的包名通常和文件所在的文件夹名一致,一般为小写字母。
2)当一个文件要使用其它包函数或变量时,需要先引入对应的包
- 引入方式1:import "包名"
- 引入方式2:
import(
"包名"
"包名"
)
3)package指令在文件第一行,然后是import指令。
4)在import包时,路径从SGOPATH的src下开始,不用带src,编译器会自动从src下开始引入
5) 为了让其它包的文件,可以访问到本包的函数,则该函数名的首字母需要大写,类似其它
语言的public,这样才能跨包访问。比如utils.go的
如果是变量可以被别的包访问,那么也是定义为大写。
6)在访问其它包函数时,其语法是包名.函数名,比如这里的main.go文件中(变量也是一样)
7)如果包名较长,Go支持给包取别名,注意细节:取别名后,原来的包名就不能使用了(取别名u,那么要使用新的别名去访问这个包的变量和函数)
import (
u "day1/base/package_test/utils"
"fmt"
)
func main() {
n := u.Sum(1, 2)
fmt.Println(n)
fmt.Println(u.Number1)
}
8)在同一包下,不能有相同的函数名(也不能有相同的全局变量名),否则报重复定义。
9) 如果你要编译成一个可执行程序文件,就需要将这个包声明为main,就是一个语法规范,如果你是写一个库,包名可以自定义。(其实也就是main包只能有一个)
在实际开发过程当中实际上是要生成二进制文件,生成可执行文件就可以交给对方去使用了。
10)golang支持可变参数文章来源:https://www.toymoban.com/news/detail-437839.html
func test99(s string, args ...int) {
for k, v := range args {
fmt.Println(k, v)
}
for i := 0; i < len(args); i++ {
fmt.Println(args[i])
}
}
func main() {
test99("s", 1, 2, 3, 4)
}
args本质上是一个切片,可以通过args[index]访问到各个值文章来源地址https://www.toymoban.com/news/detail-437839.html
到了这里,关于Golang 包使用注意事项的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!