我有一個創建切片的函數,如下所示:func buildOptions(cfg *ServerConfig) []SomeType { return []SomeType{ Option1, Option2, Option3, }}僅當滿足特定條件時,我才需要將 Option3 添加到切片中??梢栽谕粋€語句中使用某種立即 if 來完成嗎?我必須做這樣的事情嗎:func buildOptions(cfg *ServerConfig) []SomeType { options:= []SomeType{ Option1, Option2, } if addOption3==true{ options = append(options, Option3) } return options}
1 回答

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