【Go语言学习笔记】包

包其实是每个大型工程都会使用的模块化工具。

将相关的代码封装成一个包,给其他项目调用,提供不同的功能。

GO的设计是将一个文件夹看成一个包,虽然不一定非要用文件夹的名字,但是比较建议。

  • 同一个文件夹下只能有一个包名。
  • 同文件夹下可以自由调用,不用引用。
  • 引入其它包,只能调用它提供的首字母大写的函数。
//方法1
import "calc"
import "fmt"
 
//方法2
import (
    "calc"
    "fmt"
)

main包

main包是程序的入口,即编译必须从这个包开始。
且main包中必须有且只有一个main()函数,编译的时候可以用包名编译,也可以用文件编译。

init函数

显而易见,这是个初始化函数。在你引用包的时候,这个函数会被执行。在main函数之前。

如果你引用了多个包,会按栈的顺序,执行对应的init函数。

特殊操作

点操作

import (
    //这个点操作的含义是这个包导入之后在你调用这个包的函数时,可以省略前缀的包名
    . "fmt"
)
 
func main() {
    Println("hello go")
}

别名操作

在导⼊时,可指定包成员访问⽅式,⽐如对包重命名,以避免同名冲突:

import (
    io "fmt" //fmt改为为io
)
 
func main() {
    io.Println("hello go") //通过io别名调用
}

_操作

有时,用户可能需要导入一个包,但是不需要引用这个包的标识符。在这种情况,可以使用空白标识符_来重命名这个导入:

import (
    _ "fmt"
)

_操作其实是引入该包,而不直接使用包里面的函数,而是调用了该包里面的init函数。

当你停下来休息的时候,不要忘记别人还在奔跑!
原文地址:https://www.cnblogs.com/HappyTeemo/p/15662577.html