首页 > 试题广场 >

下面选项中,哪些 Go 程序代码不能正常编译运行()

[不定项选择题]
下面选项中,哪些 Go 程序代码不能正常编译运行()
  • func main() {
        var x [2]int
        x[2] = 10
        fmt.Println(x[2])
    }
  • func main() {
        x := 42
        x, y := 10, "go"
        fmt.Println(x, y)
    }
  • func main() {
        x := []int{}
        x = append(x, 10)
        fmt.Println(x[0])
    }
  • func main() {
        var x map[string]int
        x["key"] = 10
        fmt.Println(x["key"])
    }
array和map的类型特性是不同的。array是值类型,声明时会分配内存空间。map是引用类型,声明时不会分配内存空间,默认值是nil,未初始化也就无法赋值。
正确使用map的方式:
// 方式一:使用make(),声明并初始化(可不指定容量)
var map1 = make(map[string]int)
map1["key"] = 1

// 方式二:字面量(可没有元素)
map2 := map[string]int{}
map2_ := map[string]int{
    "key": 2,
}

// 方式三:先声明后初始化
var map3 map[string]int
map3 = make(map[string]int, 10)

// map[key:1] map[] map[key:2] map[]
fmt.Println(map1, map2, map2_, map3)


发表于 2026-01-09 09:32:24 回复(0)