(1)一般方式【导入单个和多个】

(2)匿名导入包/忽略包  (主要用到有些包的init函数)

(3)点操作包

(4)包别名/自定义包名

package main

////导入单个包
//import "fmt"
//
//func main() {
// fmt.Println("导入包操作案例!")
//} //导入多个包方式
import (
"fmt"
"os"
) func main() {
fmt.Println("导入包操作案例!")
fmt.Println(os.Args)
} //// 忽略包
//// 应用场景 去掉此包
//import _ "fmt"
//
//func main() {
// //fmt.Println("121212")
//} ////.操作
//import . "fmt"
//func main() {
// Println("点操作包的方式")
//} ////给包起别名
//import xx "fmt"
//func main() {
// xx.Println("给包起别名操作")
//}

init()初始化函数

init()函数介绍

在Go语言程序执行时导入包语句会自动触发包内部init()函数的调用。需要注意的是: init()函数没有参数也没有返回值。 init()函数在程序运行时自动被调用执行,不能在代码中主动调用它。

包初始化执行的顺序如下图所示:

(14)Go导入包几种方式-LMLPHP

init()函数执行顺序

Go语言包会从main包开始检查其导入的所有包,每个包中又可能导入了其他的包。Go编译器由此构建出一个树状的包引用关系,再根据引用顺序决定编译顺序,依次编译这些包的代码。

在运行时,被最后导入的包会最先初始化并调用其init()函数, 如下图示:

(14)Go导入包几种方式-LMLPHP

05-18 15:38