13.1 包-导入包、包的用途

1.包

1.1 导入包

Go语言以package语句开头,其后是包名,任何源代码都必须位于某个包内。名为main是一种特殊的包,其特殊之处在于其不可被导入。对main包的唯一要求是必须声明一个名为main函数,该函数不接受任何参数,亦不返回任何值,是可执行程序的入口。

一个包可以由多个源文件组成,但一个源文件不能包含多个包。建议将构成一个包的多个源文件放在一个目录下,谓之包路径。在一个包的内部可以声明类型常量变量函数方法,其中首字母大写的标识符可以在声明它们的包的外部使用,称为导出标识符,或公有标识符。

一个包可以通过import语句导入其它包,被导入包中的公有标识符可以通过包名加"."来引用,如:fmt.Println("Hello World!")。Go语言以package语句开头,其后是包名,任何源代码都必须位于某个包内。名为main是一种特殊的包,其特殊之处在于其不可被导入。

对main包的唯一要求是必须声明一个名为main函数,该函数不接受任何参数,亦不返回任何值,是可执行程序的入口。一个包可以由多个源文件组成,但一个源文件不能包含多个包。建议将构成一个包的多个源文件放在一个目录下,谓之包路径。

在一个包的内部可以声明类型常量变量函数方法,其中首字母大写的标识符可以在声明它们的包的外部使用,称为导出标识符,或公有标识符。一个包可以通过import语句导入其它包,被导入包中的公有标识符可以通过包名加"."来引用,如:fmt.Println("Hello World!")。

import语句用于导入其它包,其后是包路径

  • import "fmt"
    • 标准库包:[Go语言安装目录]/src/fmt/
  • import "github.com/golang/example/stringutil"
    • 第三方包[GOPATH]/src/github.com/golang/example/stringutil/
  • import "C:/temperature"
    • 绝对路径:C:/temperature/
  • import "../temperature"
    • 相对路径:../temperature/
// 导入包
// Go程序以package语句开头。main包是一种特殊的包,其特殊之处就在于不能被
// 导入。对main包的唯一要求是必须声明一个main函数,不接受任何参数也不返回
// 任何值。main包中的main函数是程序的入口点。通过import语句可导入其它包,
// 导入后即可使用其中被导出的标识符,包括常量、变量、函数、方法以及类型等
package main

import "fmt"

func main() {
    fmt.Println("Hello World!")
}
// 访问math包中的pi
// Pi是math包中被导出的常量标识符
package main

import (
    "fmt"
    "math"
)

func main() {
    fmt.Println(math.Pi) // 3.141592653589793 
}
// 调用strings包中的函数
// ToLower是strings包中被导出的函数标识符
package main

import (
    "fmt"
    "strings"
)

func main() {
    fmt.Println(strings.ToLower("STOP SHOUTING!"))	// stop shouting! 
}

1.2 包的用途

理解包的用途最有效的方法就是阅读有关文档。

Go语言的文档非常完善,而对于标准库,都有卓越的文档。

  • 如果想阅读标准库的文康,可以启动本地文档服务器
    • godoc -http=:8090
      • 注:godoc和go doc命令在go1.13版本被移除了,需要手动安装。
  • 打开浏览器查看网址
    • http://localhost:8090

Go语言的包名短小精悍而又含义丰富。当需要使用某种功能时,可通过查阅标准库包清单,找到相应的,而后进一步查阅该包所导出的每一个标识符及其用法甚至示例。

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值