• 1.6 导入包
    • 链接

    1.6 导入包

    go有很多内置的函数,例如println,不需要引用即可使用。但是如果不借助go的标准库或者第三方库,我们能做的事情有限。在go中,使用关键字import在代码中导入一个包并使用。

    修改我们的程序:

    1. package main
    2. import (
    3. "fmt"
    4. "os"
    5. )
    6. func main() {
    7. if len(os.Args) != 2 {
    8. os.Exit(1)
    9. }
    10. fmt.Println("It's over ", os.Args[1])
    11. }

    使用下面的命令运行:

    go run main.go 9000

    我们现在使用了2个go的标准包:fmtos。我们也引入了另外一个内置函数lenlen返回一个字符串大小或者一个字典中值的个数,或者如上代码所示,返回数组元素的个数。如果你想知道为什么这里我们使用2个参数,因为第一个参数即索引为0一直表示当前正在运行的可执行文件的路径(你可以自己修改程序并打印观察)。

    你可能已经注意到了我们在函数名前加了包名作为前缀,例如,fmt.Println。这和其他许多语言不同。我们将会在接下来的章节学习更多关于包的内容。现在,只需知道怎么导入并使用包就是一个很好的开端。

    go在导入包的时候是比较严格的,如果导入的包没有被使用,那么程序不能被编译。试着运行一下代码:

    1. package main
    2. import (
    3. "fmt"
    4. "os"
    5. )
    6. func main() {
    7. }

    你会得到2个错误信息,提示fmtos包被导入但是没有被使用。你会觉得很不适应么?但是,过一段时间,你会变得适应(虽然任然很烦人)。go之所以这么严格是因为如果没有使用导入的包会使编译变慢。不可否认,这个问题我们很多人都没有考虑到。

    另外,需要值得注意的是go的标准库提供了非常详细的文档。你可以在http://golang.org/pkg/fmt/#Println查询到更多关于Println函数的信息。你甚至可以点击章节标题查看源码。你也可以滚动到顶部学习更多关于go格式化输出的功能。

    如果你不能上网,你可以在本地运行下面的命令获取这个文档:

    godoc -http=:6060

    并打开浏览器,输入http://localhost:6060

    链接

    • 目录
    • 上一节:运行go代码
    • 下一节:变量和声明