Go 包使用的注意事项和细节

包使用的注意事项和细节讨论

  • 在给一个文件打包时,该包对应一个文件夹
    • 比如这里的 utils 文件夹对应的包名就是 utils,
    • 文件的包名通常和文件所在的文件夹名一致,一般为小写字母
  • 当一个文件要使用其它包函数或变量时,需要先引入对应的包
    • 引入方式 1:
import "包名"
  • 引入方式 2:
import ( 
"包名"
"包名"
)
  • package 指令在 文件第一行,然后是 import 指令
  • 在 import 包时,路径从 $GOPATH 的 src 下开始,不用带 src , 编译器会自动从 src 下开始引入
  • 为了让其它包的文件,可以访问到本包的函数,则该函数名的首字母需要大写
    • 类似其它语言的 public ,,这样才能跨包访问
    • 比如 utils.go 的Cal函数

Go 包使用的注意事项和细节_第1张图片

  • 在访问其它包函数,变量时,其语法是 包名.函数名, 比如这里的 main.go 文件中

  • 如果包名较长,Go 支持给包取别名
    • 注意细节:取别名后,原来的包名就不能使用了
    • 如果给包取了别名,则需要使用别名来访问该包的函数和变量

Go 包使用的注意事项和细节_第2张图片

  • 同一包下不能有相同的函数名(也不能有相同的全局变量名),否则报重复定义
  • 如果你要编译成一个可执行程序文件,就需要将这个包声明为 main , 即 package main 。这个就是一个语法规范,如果你是写一个库 ,包名可以自定义
    • 编译的指令,在项目目录下,编译路径不需要带src,编译器会自动带.
    • 编译时需要编译main包所在的文件夹
    • 项目的目录结构最好按照规范来组织。
    • 编译后生成一个有默认名的可执行文件,在$GOPATH目录下,可以指定名字和目录
      • 比如:放在bin目录下:D:\goproject>go build -o   bin/my.exe  go_code/project/main
    • 在pkg文件夹下生成main包之外的包对应的库文件。
      • 比如生成的utils.a文件

 

你可能感兴趣的:(Golang基础,go)