Go - 导入
在 Go 中,import 语句 用于在程序中包含外部 packages(库或模块)。import 语句放置在 Go 程序文件顶部,就在 package 声明之后。这些 packages 提供了程序中可以使用的额外功能。
import 的作用是什么,为什么要使用它?
"import" 告诉 Go 编译器“我想在程序中使用这个 package”。一旦导入,就可以使用该特定 package 提供的 functions、variables 或 types。
不必反复编写相同的代码,可以使用 预构建的 packages,因为它们为常见任务(如打印、数学运算、文件处理等)提供了现成解决方案。
语法
以下是 Golang 中 Import 的语法 −
import "package_name"
基本示例
在这个示例中,导入了 fmt package,它提供了格式化 I/O 的 functions,并使用其 Println function 将 "Hello, World!" 打印到控制台。
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
以上程序的输出如下 −
Hello, World!
导入多个 Packages
可以通过在 import 关键字后用括号将它们分组,来在程序中包含并使用 多个外部 packages。
语法
以下是 Golang 中导入多个 Packages 的语法 −
import ( "fmt" "math" )
多个 Packages 示例
在这个示例中,我们导入了 fmt 和 math packages,然后使用 math.Sqrt 计算并打印 225 的平方根。
package main
import (
"fmt"
"math"
)
func main() {
fmt.Println("Square root of 225 is", math.Sqrt(225))
}
以上程序的输出如下 −
Square root of 225 is 15
别名导入
如果想在程序中使用不同的名称,可以为导入的 package 使用 alias。
语法
以下是 Golang 中 Import 的语法 −
import ( "fmt" m "math" )
别名导入示例
在这个示例中,我们使用别名 m 导入 math package,并使用 m.Sqrt 计算 36 的平方根。
package main
import (
"fmt"
m "math"
)
func main() {
fmt.Println("Square root of 36 is", m.Sqrt(36))
}
以上程序的输出如下 −
Square root of 36 is 6
点导入
点导入允许 在不使用 package 名称限定的情况下直接使用 package 的 exported identifiers。
注意:不鼓励使用点导入,因为它们会使代码更难阅读和理解。
语法
以下是 Golang 中点导入的语法 −
import . "fmt"
点导入示例
在这个示例中,我们使用点导入 fmt package,从而可以直接使用 Println,而无需 fmt 前缀。
package main
import . "fmt"
func main() {
Println("Hello, World!")
}
以上程序的输出如下 −
Hello, World!
空白导入
有时,你可能为了 package 的 side effects(如初始化 functions)而导入它。在这种情况下,可以使用 空白标识符 _ 来导入 package 而无需使用它:语法
以下是 Golang 中空白导入的语法 −
import _ "image/png"
这通常用于 package 向 Go runtime 注册自身的情况,例如 image format handlers。
空白导入示例
在这个示例中,我们为了其 side effects(如注册 PNG 格式)而导入 image/png package,无需使用它,然后打印一条消息。
package main
import (
"fmt"
_ "image/png"
)
func main() {
fmt.Println("PNG format registered")
}
以上程序的输出如下 −
PNG format registered