-1
在GO中,如何聲明函數WITH TYPE的返回變量?Golang:如何聲明返回的變量WITH TYPE?
例如我有這樣的代碼
dat, err := ioutil.ReadFile("/tmp/dat")
check(err)
fmt.Print(string(dat))
但我想是這樣的:
var dat []byte, err error := ioutil.ReadFile("/tmp/dat")
check(err)
fmt.Print(string(dat))
但是,不管我如何努力,我只得到這個輸出
syntax error: unexpected comma, expecting semicolon or newline or }
我的工作無IDE,隨着變量數量的增加,將所有返回值的類型保存在短期記憶中是非常愚蠢的......更別提其他人必須閱讀代碼了。
如何聲明返回的元組WITH類型?
這的確解釋了爲什麼沒有人這樣做。但是,清理器語法會聲明類型。這只是簡短的語法,通過隱藏相關的非冗餘信息來實現它的目標,這與IMHO不一樣。 –
@StefanSteiger是的,這是真的。最後的評論完全是主觀的。這是Go中最常見的事情。我同意這可能很煩人,因爲您必須查看文檔/執行以查看正在分配哪些類型。我更喜歡略微冗長的語法,儘管我不知道它是否適用於Go的多種返回類型。在C#中,我強烈反對用'var'聲明而不是在LHS中提供類型。 – evanmcdonnal
對C#來說是如此。例如,在codereview中,當你有IDatareader something = GetSomething()時你會立即看到,但是當你只有var something = GetSomething()時,你永遠不會注意到它沒有配置或使用。 –