导入
Go 有很多内建函数,例如 println
,可以在没有引用情况下直接使用。但是,如果不使用 Go 的标准库直接使用第三方库,我们就无法走的更远。import
关键字被用于去声明文件中代码要使用的包。
修改下我们的程序:
package main
import (
"fmt"
"os"
)
func main() {
if len(os.Args) != 2 {
os.Exit(1)
}
fmt.Println("It's over", os.Args[1])
}
你可以这样运行:
go run main.go 9000
我们现在用了 Go 的两个标准包:fmt
和 os
。我们也介绍了另一个内建函数 len
。len
返回字符串的长度,字典值的数量,或者我们这里看到的,它返回了数组元素的数量。如果你想知道我们这里为什么期望得到两个参数,它是因为第一个参数 — 索引0处 — 总是当前可运行程序的路径。(更改程序将它打印出来亲自看看就知道了)
你可能注意到了,我们在函数名称前加上了前缀包名,例如,fmt.PrintLn
。这是不同于其他很多语言的。后续的章节中我们将学习到更多关于包的知识。现在,知道如何导入以及使用一个包就是一个好的开始。
在 Go 中,关于导包是很严格的。如果你导入了一个包却没有使用将会导致编译不通过。尝试运行下面的程序:
package main
import (
"fmt"
"os"
)
func main() {
}
你应该会得到两个关于 fmt
和 os
被导入却没有被使用的错误。这很烦人的是不是呀?绝对是这样的,不过随着时间的推移,你将慢慢习惯它(虽然仍然烦人,不过要以 Go 的思维写 Go)。Go 如此严格是因为没用的导入会降低编译速度;诚然,我们大多数人不会关注这个问题。
另一个需要记住的事情是 Go 的标准库已经有了很好的文档。你可以访问 https://golang.org/pkg/fmt/#Println 去看更多关于 PrintLn
函数的信息。你可以点击那个部分的头去看源代码。另外,也可以滚动到顶部查看关于 Go 格式化功能的更多消息。
如果没有互联网,你可以这样在本地获取文档:
godoc -http=:6060
然后浏览器中访问 http://localhost:6060