This commit is contained in:
Akagi201 2016-04-16 14:03:13 +08:00
parent 3bbc20169e
commit 9fc9ff0209

View File

@ -44,7 +44,7 @@ func CToF(c Celsius) Fahrenheit { return Fahrenheit(c*9/5 + 32) }
func FToC(f Fahrenheit) Celsius { return Celsius((f - 32) * 5 / 9) } func FToC(f Fahrenheit) Celsius { return Celsius((f - 32) * 5 / 9) }
``` ```
每个源文件都是以包的声明语句开始,用来指包的名字。当包被导入的时候包内的成员将通过类似tempconv.CToF的形式访问。而包级别的名字例如在一个文件声明的类型和常量在同一个包的其他源文件也是可以直接访问的就好像所有代码都在一个文件一样。要注意的是tempconv.go源文件导入了fmt包但是conv.go源文件并没有因为这个源文件中的代码并没有用到fmt包。 每个源文件都是以包的声明语句开始,用来指包的名字。当包被导入的时候包内的成员将通过类似tempconv.CToF的形式访问。而包级别的名字例如在一个文件声明的类型和常量在同一个包的其他源文件也是可以直接访问的就好像所有代码都在一个文件一样。要注意的是tempconv.go源文件导入了fmt包但是conv.go源文件并没有因为这个源文件中的代码并没有用到fmt包。
因为包级别的常量名都是以大写字母开头它们可以像tempconv.AbsoluteZeroC这样被外部代码访问 因为包级别的常量名都是以大写字母开头它们可以像tempconv.AbsoluteZeroC这样被外部代码访问
@ -58,7 +58,7 @@ fmt.Printf("Brrrr! %v\n", tempconv.AbsoluteZeroC) // "Brrrr! -273.15°C"
fmt.Println(tempconv.CToF(tempconv.BoilingC)) // "212°F" fmt.Println(tempconv.CToF(tempconv.BoilingC)) // "212°F"
``` ```
在每个源文件的包声明前跟着的注释是包注释§10.7.4。通常包注释的第一句应该先是包的功能概要说明。一个包通常只有一个源文件有包注释译注如果有多个包注释目前的文档工具会根据源文件名的先后顺序将它们链接为一个包注释。如果包注释很大通常会放到一个独立的doc.go文件中。 在每个源文件的包声明前跟着的注释是包注释§10.7.4。通常包注释的第一句应该先是包的功能概要说明。一个包通常只有一个源文件有包注释译注如果有多个包注释目前的文档工具会根据源文件名的先后顺序将它们链接为一个包注释。如果包注释很大通常会放到一个独立的doc.go文件中。
**练习 2.1** 向tempconv包添加类型、常量和函数用来处理Kelvin绝对温度的转换Kelvin 绝对零度是273.15°CKelvin绝对温度1K和摄氏度1°C的单位间隔是一样的。 **练习 2.1** 向tempconv包添加类型、常量和函数用来处理Kelvin绝对温度的转换Kelvin 绝对零度是273.15°CKelvin绝对温度1K和摄氏度1°C的单位间隔是一样的。