Copyright © 2022-2024 aizws.net · 网站版本: v1.2.6·内部版本: v1.23.3·
页面加载耗时 0.00 毫秒·物理内存 63.3MB ·虚拟内存 1300.0MB
欢迎来到 AI 中文社区(简称 AI 中文社),这里是学习交流 AI 人工智能技术的中文社区。 为了更好的体验,本站推荐使用 Chrome 浏览器。
go语言的包(package)是多个Go源码的集合,go语言有很多内置包,比如fmt,os,io等。我们也可以自定义包。
在一个go语言程序中使用其它包的对象或者函数时,首先要通过 import 引入它。
第一种方式相对路径:
import "./module" // 引入的包在当前文件同一目录的 module 目录,不建议使用此方式。
第二种方式绝对路径:
import “LearnGo/init” // 引入的包在 gopath/src/LearnGo/init 目录。
下面展示一些特殊的 import 方式。
我们有时候会看到如下的方式导入包
import . “fmt”
这个点操作的含义就是这个包导入之后,在调用这个包的函数时,可以省略前缀的包名。
例如:fmt.Println("hello world") 可以省略的写成 Println("hello world")。
别名操作就是可以把包命名成另一个容易记忆的名字。
import f "fmt"
别名操作的话调用包函数时前缀变成了我们的前缀,即 f.Println("hello world")。
_操作是一个让很多人费解的操作符,例如:
import _ "github.com/go-sql-driver/mysql"
_操作其实是引入该包,而不直接使用包里面的函数,而是调用了该包里面的 init 函数。
Go 源码文件 go/src/runtime/sema.go 实现了信号量 Semaphore,提供了 sleep 和 wakeup 同步原语。Go 内部使用信号量 Semaphore 来控制 ...