我有一個創建切片的函數,如下所示: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 關注
- 162 瀏覽
添加回答
舉報
0/150
提交
取消
