# 1.6 导入包 go有很多内置的函数,例如`println`,不需要引用即可使用。但是如果不借助go的标准库或者第三方库,我们能做的事情有限。在go中,使用关键字`import`在代码中导入一个包并使用。 修改我们的程序: ```go 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` 我们现在使用了2个go的标准包:`fmt`和`os`。我们也引入了另外一个内置函数`len`。`len`返回一个字符串大小或者一个字典中值的个数,或者如上代码所示,返回数组元素的个数。如果你想知道为什么这里我们使用2个参数,因为第一个参数即索引为`0`一直表示当前正在运行的可执行文件的路径(你可以自己修改程序并打印观察)。 你可能已经注意到了我们在函数名前加了包名作为前缀,例如,`fmt.Println`。这和其他许多语言不同。我们将会在接下来的章节学习更多关于包的内容。现在,只需知道怎么导入并使用包就是一个很好的开端。 go在导入包的时候是比较严格的,如果导入的包没有被使用,那么程序不能被编译。试着运行一下代码: ```go package main import ( "fmt" "os" ) func main() { } ``` 你会得到2个错误信息,提示`fmt`和`os`包被导入但是没有被使用。你会觉得很不适应么?但是,过一段时间,你会变得适应(虽然任然很烦人)。go之所以这么严格是因为如果没有使用导入的包会使编译变慢。不可否认,这个问题我们很多人都没有考虑到。 另外,需要值得注意的是go的标准库提供了非常详细的文档。你可以在[http://golang.org/pkg/fmt/#Println](http://golang.org/pkg/fmt/#Println)查询到更多关于`Println`函数的信息。你甚至可以点击章节标题查看源码。你也可以滚动到顶部学习更多关于go格式化输出的功能。 如果你不能上网,你可以在本地运行下面的命令获取这个文档: `godoc -http=:6060` 并打开浏览器,输入`http://localhost:6060`。 ## 链接