update tw

This commit is contained in:
chai2010
2015-12-18 10:53:03 +08:00
parent 510c741a6f
commit c66a96ee52
106 changed files with 864 additions and 864 deletions

View File

@@ -1,10 +1,10 @@
## 13.5. 幾點忠告
我們在前一章結尾的時候, 我們警告要謹慎使用反射. 那些警告樣適用於本章的 unsafe 包.
我們在前一章結尾的時候, 我們警告要謹慎使用反射. 那些警告樣適用於本章的 unsafe 包.
高級語言使得程序員不用在關繫眞正運行程序的指令細節, 時也不再需要關註許多如內部佈侷之類的無關實現細節. 因這個緣的抽象層, 我們可以編寫安全健壯的, 且可以運行在不操作繫統上的具有高度可移植性的程序.
高級語言使得程序員不用在關繫眞正運行程序的指令細節, 時也不再需要關註許多如內部佈侷之類的無關實現細節. 因這個緣的抽象層, 我們可以編寫安全健壯的, 且可以運行在不操作繫統上的具有高度可移植性的程序.
但是 unsafe 包, 讓程序員可以透過這個緣的抽象層使用使用一些必要的功能, 或者是了更高的性能. 代價就是犧牲了可移植性和程序安全, 因此使用 unsafe 是一個危險的行. 我們對何時以及如何使用unsafe包的建議和我們在11.5節提到的Knuth對過早優化的建議類似. 大多數Go程序員可能永遠不會需要直接使用unsafe包. 當然, 永遠都會有一些用 unsafe 包實現會更簡單的場景. 如果確實認使用 unsafe 包是最理想的方式, 那應該可能將它限製較小的範圍, 那樣其他代碼忽略unsafe的影響.
但是 unsafe 包, 讓程序員可以透過這個緣的抽象層使用使用一些必要的功能, 或者是了更高的性能. 代價就是犧牲了可移植性和程序安全, 因此使用 unsafe 是一個危險的行. 我們對何時以及如何使用unsafe包的建議和我們在11.5節提到的Knuth對過早優化的建議類似. 大多數Go程序員可能永遠不會需要直接使用unsafe包. 當然, 永遠都會有一些用 unsafe 包實現會更簡單的場景. 如果確實認使用 unsafe 包是最理想的方式, 那應該可能將它限製較小的範圍, 那樣其他代碼忽略unsafe的影響.
現在, 把最後兩章拋入腦後吧. 編寫一些實在的應用. 遠離reflect的unsafe包, 除非你確實需要它們.