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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

args ...interface{} 對(duì)于方法參數(shù)到底意味著什么?

args ...interface{} 對(duì)于方法參數(shù)到底意味著什么?

Go
縹緲止盈 2023-07-17 17:54:02
我指的是以下方法,該方法將最后一個(gè)參數(shù)作為 args ...interfact{})func (*sqlx.DB).Select(dest interface{}, query string, args ...interface{}) errorhttps://godoc.org/github.com/jmoiron/sqlx#DB.Select據(jù)我了解,該方法接受任何類型的最后一個(gè)參數(shù),該參數(shù)是可變參數(shù)..所以    selectStmt = 'Select * FROM users where user_id IN (?)'    selectStmt, userArgs, err := sqlx.In(selectStmt, userIDs)// userIDs is a slice    if err != nil {        return nil, errors.Wrap(err, "")    }    selectStmt = s.db.Rebind(selectStmt)    var users []User        err = s.db.Select(&users, selectStmt, userArgs) // wrong one .. Line A    err = s.db.Select(&users, selectStmt, userArgs... ) // right one .. Line B在上述代碼中,如果我注釋掉 Line B ,但不注釋掉 Line A ,則它不起作用。我收到以下錯(cuò)誤。sql: 轉(zhuǎn)換參數(shù) $1 類型: 不支持的類型 []interface {}, 接口的切片 *問題這里到底發(fā)生了什么,為什么不能自動(dòng)推斷變量?需要向第三個(gè)參數(shù)傳遞額外的“...”嗎?
查看完整描述

1 回答

?
慕無(wú)忌1623718

TA貢獻(xiàn)1744條經(jīng)驗(yàn) 獲得超4個(gè)贊

這里到底發(fā)生了什么,為什么不能自動(dòng)推斷變量?需要向第三個(gè)參數(shù)傳遞額外的“...”嗎?

Go 不會(huì)自動(dòng)推斷變量 - 事實(shí)上,Go 故意推斷得很少,自動(dòng)執(zhí)行的操作也很少。您需要它,... 因?yàn)?/em>它不會(huì)推斷。它還清楚地表明,當(dāng)您將切片傳遞給可變參數(shù)時(shí),您是否意味著將其分解,或者意味著切片本身是單個(gè)參數(shù);兩者都可能是一個(gè)有效的用例,Go 不希望你做出假設(shè),而是希望你是明確的。


查看完整回答
反對(duì) 回復(fù) 2023-07-17
  • 1 回答
  • 0 關(guān)注
  • 124 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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