我有一個(gè)創(chuàng)建切片的函數(shù),如下所示:func buildOptions(cfg *ServerConfig) []SomeType { return []SomeType{ Option1, Option2, Option3, }}僅當(dāng)滿足特定條件時(shí),我才需要將 Option3 添加到切片中。可以在同一個(gè)語(yǔ)句中使用某種立即 if 來(lái)完成嗎?我必須做這樣的事情嗎:func buildOptions(cfg *ServerConfig) []SomeType { options:= []SomeType{ Option1, Option2, } if addOption3==true{ options = append(options, Option3) } return options}
1 回答

紅顏莎娜
TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超13個(gè)贊
不,您不能有條件地將列出的元素包含在復(fù)合文字中。
if
使用附加的and可能會(huì)更冗長(zhǎng)append()
,但發(fā)生的事情(你的代碼做了什么)更加明顯。
您可以使用傳遞條件和所有元素的輔助函數(shù)來(lái)實(shí)現(xiàn)類似的效果,但這只會(huì)使代碼更加混亂,并且性能會(huì)更差。
- 1 回答
- 0 關(guān)注
- 160 瀏覽
添加回答
舉報(bào)
0/150
提交
取消