我知道Go在這方面與其他語言有些不同,但我想知道Go語言是否值得自動測試比較中的零指針並返回不等於值爲零(比較)而不是創建運行時錯誤。 Go在這麼多領域非常出色,我認爲它可以做到這一點。示例如下:比較nil指針變量的值
type cuForm struct {sName string; iUseCount int64; baForm []byte}
var pugForm *cuForm
//***********************************************************
func loadForm (sWanted string) (*cuForm, os.Error) {
//***********************************************************
if (sWanted == pugForm.sName) {
在上面的示例中,如果pugForm爲零,則會發生運行時錯誤。顯然,如果只有其中一個值是零,那麼至少在邏輯上不可能是相等的。爲什麼不這樣做可能是有原因的,但我認爲歷史不應該是一個原因。
這可能更適合gonots郵件列表 – nos 2011-05-20 07:49:38
只有* what *值之一? pugForm不是一個被比較的值,它是一個指向包含被比較值的結構的指針。如果它是零,它不指向任何結構 - 這是一個程序邏輯錯誤來解引用它。 – 2011-06-05 04:21:58