繁体   English   中英

如何定义返回地图的函数

[英]How to define a function which returns a map

我正在尝试定义一个返回初始化映射的函数:

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不能做的事情?

您需要声明整个类型,包括键和值类型。

func defaults() map[string]string {
    …
}
func defaults() map[string] string {
    m := make(map[string]string)
    m["start"] = "1"
    ...
    return m
}

您的默认函数的问题是返回类型映射没有类型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM