dsgrs26202
2012-10-19 00:08
浏览 63
已采纳

前往:使用自动返回值初始化地图

If I declare a map[string]string return value in a function definition, do I have to make it before using it, just like if I had instead declared it in the function body? http://play.golang.org/p/iafZbG2ZbY

package main

import "fmt"

func fill() (a_cool_map map[string]string) {
    // This fixes it: a_cool_map = make(map[string]string)
    a_cool_map["key"] = "value"
    return
}
func main() {
    a_cool_map := fill()
    fmt.Println(a_cool_map)
}

panic: runtime error: assignment to entry in nil map

图片转代码服务由CSDN问答提供 功能建议

如果我在函数定义中声明了 map [string] string 返回值,请执行 我必须先使用它,就像是否在函数主体中声明它一样? http://play.golang.org/p/iafZbG2ZbY

 包main 
 
import“ fmt” 
 
func fill()(a_cool_map map [string] string){
 //可以解决此问题:a_cool_map = make(map [string] string)\  n a_cool_map [“ key”] =“值” 
 return 
} 
func main(){
 a_cool_map:= fill()
 fmt.Println(a_cool_map)
} 
   
 
 

恐慌:运行时错误:分配给nil映射中的条目

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

  • drgd73844 2012-10-19 00:48
    最佳回答

    Map types

    The value of an uninitialized map is nil.

    A new, empty map value is made using the built-in function make.

    A nil map is equivalent to an empty map except that no elements may be added.

    Yes.

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题