我有一个多行地图创建和设置的价值在Go。
type Animal struct {
food, locomotion, sound string
}
type AnimalInterface interface {
Eat()
Move()
Speak()
}animals := make(map[string]Animal)
animals["cow"] = Animal{"grass", "walk", "moo"}
animals["bird"] = Animal{"worms", "fly", "peep"}
animals["snake"] = Animal{"mice", "slither", "hsss"}我更愿意在一步内完成创建和插入。这不管用..。我该怎么修呢?
animals := map[string]Animal{
"cow": Animal{"grass", "walk", "moo"}
"bird": Animal{"worms", "fly", "peep"}
"snake": Animal{"mice", "slither", "hsss"}
}编辑添加逗号
animals := map[string]Animal{
"cow": Animal{"grass", "walk", "moo"},
"bird": Animal{"worms", "fly", "peep"},
"snake": Animal{"mice", "slither", "hsss"}
}❯ go run animals.go
# command-line-arguments
./animals.go:109:47: syntax error: unexpected newline, expecting comma or }发布于 2019-09-29 17:17:40
错了。您忽略了map元素后面的逗号。
package main
import (
"fmt"
)
type Animal struct {
food, locomotion, sound string
}
type AnimalInterface interface {
Eat()
Move()
Speak()
}
func main() {
animals := map[string]Animal{
"cow": Animal{"grass", "walk", "moo"},
"bird": Animal{"worms", "fly", "peep"},
"snake": Animal{"mice", "slither", "hsss"},
}
fmt.Println(animals)
}https://stackoverflow.com/questions/58157429
复制相似问题