我正在尝试定义一个返回初始化地图的函数:
package main
import "fmt"
import "os"
func defaults() map {
m := make(map[string]string)
m["start"] = "1"
m["from"] = "encrypted"
m["to"] = "loaded"
return m
}
func main() {
args := os.Args[1:]
fmt.Println(args)
runvals := defaults()
fmt.Println(runvals)
}
我得到的错误:
Line 6 col 21 error| expected '[', found '{'
Line 7 col 5 error| expected ']', found ':='
Line 11 col 3 error| expected declaration, found 'return'
有人可以帮助我正确理解语法吗?或者我想做一些Go不会做的事情?
答案 0 :(得分:2)
您需要声明整个类型,包括键和值类型。
func defaults() map[string]string {
…
}
答案 1 :(得分:0)
func defaults() map[string] string {
m := make(map[string]string)
m["start"] = "1"
...
return m
}
默认函数的问题是返回类型映射没有类型。