mirror of
https://github.com/gopl-zh/gopl-zh.github.com.git
synced 2025-10-16 20:12:48 +00:00
回到简体
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
## 11.6. 示例函數
|
||||
## 11.6. 示例函数
|
||||
|
||||
第三種`go test`特别處理的函數是示例函數,以Example爲函數名開頭。示例函數沒有函數參數和返迴值。下面是IsPalindrome函數對應的示例函數:
|
||||
第三种`go test`特别处理的函数是示例函数,以Example为函数名开头。示例函数没有函数参数和返回值。下面是IsPalindrome函数对应的示例函数:
|
||||
|
||||
```Go
|
||||
func ExampleIsPalindrome() {
|
||||
@@ -12,14 +12,14 @@ func ExampleIsPalindrome() {
|
||||
}
|
||||
```
|
||||
|
||||
示例函數有三個用處。最主要的一個是作爲文檔:一個包的例子可以更簡潔直觀的方式來演示函數的用法,比文字描述更直接易懂,特别是作爲一個提醒或快速參考時。一個示例函數也可以方便展示屬於同一個接口的幾種類型或函數直接的關繫,所有的文檔都必須關聯到一個地方,就像一個類型或函數聲明都統一到包一樣。同時,示例函數和註釋併不一樣,示例函數是完整眞實的Go代碼,需要接受編譯器的編譯時檢査,這樣可以保證示例代碼不會腐爛成不能使用的舊代碼。
|
||||
示例函数有三个用处。最主要的一个是作为文档:一个包的例子可以更简洁直观的方式来演示函数的用法,比文字描述更直接易懂,特别是作为一个提醒或快速参考时。一个示例函数也可以方便展示属于同一个接口的几种类型或函数直接的关系,所有的文档都必须关联到一个地方,就像一个类型或函数声明都统一到包一样。同时,示例函数和注释并不一样,示例函数是完整真实的Go代码,需要接受编译器的编译时检查,这样可以保证示例代码不会腐烂成不能使用的旧代码。
|
||||
|
||||
根據示例函數的後綴名部分,godoc的web文檔會將一個示例函數關聯到某個具體函數或包本身,因此ExampleIsPalindrome示例函數將是IsPalindrome函數文檔的一部分,Example示例函數將是包文檔的一部分。
|
||||
根据示例函数的后缀名部分,godoc的web文档会将一个示例函数关联到某个具体函数或包本身,因此ExampleIsPalindrome示例函数将是IsPalindrome函数文档的一部分,Example示例函数将是包文档的一部分。
|
||||
|
||||
示例文檔的第二個用處是在`go test`執行測試的時候也運行示例函數測試。如果示例函數內含有類似上面例子中的`// Output:`格式的註釋,那麽測試工具會執行這個示例函數,然後檢測這個示例函數的標準輸出和註釋是否匹配。
|
||||
示例文档的第二个用处是在`go test`执行测试的时候也运行示例函数测试。如果示例函数内含有类似上面例子中的`// Output:`格式的注释,那么测试工具会执行这个示例函数,然后检测这个示例函数的标准输出和注释是否匹配。
|
||||
|
||||
示例函數的第三個目的提供一個眞實的演練場。 http://golang.org 就是由godoc提供的文檔服務,它使用了Go Playground提高的技術讓用戶可以在瀏覽器中在線編輯和運行每個示例函數,就像圖11.4所示的那樣。這通常是學習函數使用或Go語言特性最快捷的方式。
|
||||
示例函数的第三个目的提供一个真实的演练场。 http://golang.org 就是由godoc提供的文档服务,它使用了Go Playground提高的技术让用户可以在浏览器中在线编辑和运行每个示例函数,就像图11.4所示的那样。这通常是学习函数使用或Go语言特性最快捷的方式。
|
||||
|
||||

|
||||
|
||||
本書最後的兩掌是討論reflect和unsafe包,一般的Go用戶很少直接使用它們。因此,如果你還沒有寫過任何眞實的Go程序的話,現在可以忽略剩餘部分而直接編碼了。
|
||||
本书最后的两掌是讨论reflect和unsafe包,一般的Go用户很少直接使用它们。因此,如果你还没有写过任何真实的Go程序的话,现在可以忽略剩余部分而直接编码了。
|
||||
|
Reference in New Issue
Block a user