Go 語言 幾點忠告

2023-03-14 17:01 更新

原文鏈接:https://gopl-zh.github.io/ch13/ch13-05.html


13.5. 幾點忠告

我們在前一章結尾的時候,我們警告要謹慎使用reflect包。那些警告同樣適用于本章的unsafe包。

高級語言使得程序員不用再關心真正運行程序的指令細節(jié),同時也不再需要關注許多如內(nèi)存布局之類的實現(xiàn)細節(jié)。因為高級語言這個絕緣的抽象層,我們可以編寫安全健壯的,并且可以運行在不同操作系統(tǒng)上的具有高度可移植性的程序。

但是unsafe包,它讓程序員可以透過這個絕緣的抽象層直接使用一些必要的功能,雖然可能是為了獲得更好的性能。但是代價就是犧牲了可移植性和程序安全,因此使用unsafe包是一個危險的行為。我們對何時以及如何使用unsafe包的建議和我們在11.5節(jié)提到的Knuth對過早優(yōu)化的建議類似。大多數(shù)Go程序員可能永遠不會需要直接使用unsafe包。當然,也永遠都會有一些需要使用unsafe包實現(xiàn)會更簡單的場景。如果確實認為使用unsafe包是最理想的方式,那么應該盡可能將它限制在較小的范圍,這樣其它代碼就可以忽略unsafe的影響。

現(xiàn)在,趕緊將最后兩章拋入腦后吧。編寫一些實實在在的應用是真理。請遠離reflect和unsafe包,除非你確實需要它們。

最后,用Go快樂地編程。我們希望你能像我們一樣喜歡Go語言。



以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號