-2
而不是做:沒有匿名數組?
var adapters[]LogicAdapter
adapter1 := &ExampleAdapter{0.9}
adapter2 := &ExampleAdapter{0.8}
adapters = append(adapters, adapter1, adapter2)
bot := ChatterBot{"Charlie", MultiLogicAdapter{adapters}}
我想:
bot := ChatterBot{
"Charlie",
MultiLogicAdapter{
[]LogicAdapter{
&ExampleAdapter{0.9},
&ExampleAdapter{0.8}
}
}
}
但爲什麼這是不行的?我看不出任何語法問題,就像我正在創建一個新的切片並將其放到那裏。下面是錯誤的:
./main.go:16: syntax error: unexpected semicolon or newline, expecting comma or }
./main.go:21: syntax error: unexpected semicolon or newline, expecting comma or }
./main.go:22: syntax error: unexpected semicolon or newline, expecting comma or }
即使在創建結構中只有2個參數,我仍然必須在MultiLogicAdapter之後放置一個逗號?哇,它的工作,但它很奇怪 –
你應該通過'gofmt'或'goimports'運行你的代碼,其中任何一個都會捕獲這些東西,並重新格式化你的代碼以符合標準。將編輯器設置爲在您保存Go文件時自動執行此操作非常有用。 –