第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在同一行上聲明多個變量,并在 Go 中鍵入

在同一行上聲明多個變量,并在 Go 中鍵入

Go
一只甜甜圈 2022-10-04 19:41:46
我有以下代碼片段:package mainimport (    "bufio"    "fmt"    "os")func main() {    var reader *bufio.Reader = bufio.NewReader(os.Stdin)    fmt.Println("Enter your name")    name, err := reader.ReadString('\n') //THIS LINE    if err == nil {        fmt.Println("Hello " + name)    }}我的問題是,如果我想不使用語法(就像我在第一行所做的那樣),我該如何用類型重寫調(diào)用?:=main()ReadString()我嘗試了以下內(nèi)容,但出現(xiàn)了相應(yīng)的錯誤:var name string, err error = reader.ReadString('\n') -> syntax error: unexpected comma at end of statementvar name, err string, error = reader.ReadString('\n') -> syntax error: unexpected comma at end of statement從Go中的一行中有多個不同類型的變量(沒有簡短的變量聲明語法)中獲取提示,我也嘗試過,這也給出了相同的錯誤。var (name string, err error) = reader.ReadString('\n')對于上述鏈接問題,標(biāo)記的答案只是建議對兩種不同的變量類型使用兩行。但是,對于像這樣的函數(shù)的返回值,這將如何工作?ReadString()
查看完整描述

1 回答

?
桃花長相依

TA貢獻(xiàn)1860條經(jīng)驗 獲得超8個贊

首先


name, err := reader.ReadString('\n')`

完全沒問題。大多數(shù)IDE將顯示返回值的類型,如果您不知道它們。ReadString()


正如鏈接的答案詳細(xì)信息所示,變量聲明最多可以有一個可選類型,因此無法指定 2 個類型。


如果這些類型不可見而困擾您,這意味著可讀性對您來說更為重要。如果是這樣,那就打破“一句話贏”的哲學(xué)。


如果希望類型在源代碼中可見,請在前面聲明類型,然后使用賦值:


var (

    name string

    err  error

)

name, err = reader.ReadString('\n')

如果你仍然需要一個襯里(只是為了好玩),它需要一個助手功能。幫助程序函數(shù)的名稱可以“聲明”預(yù)期的類型:


func stringAndError(s string, err error) (string, error) {

    return s, err

}

然后,您可以使用變量聲明或短變量聲明:


var name, err = stringAndError(reader.ReadString('\n'))

// OR

name, err := stringAndError(reader.ReadString('\n'))


查看完整回答
反對 回復(fù) 2022-10-04
  • 1 回答
  • 0 關(guān)注
  • 127 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號