迹忆客 计算机编程题库

Go 经典面试题 部分三

关于 map,下面说法正确的是
  • map 反序列化时 json.unmarshal 的入参必须为 map 的地址
  • 在函数调用中传递 map,则子函数中对 map 元素的增加不会导致父函数中 map 的修改
  • 在函数调用中传递 map,则子函数中对 map 元素的修改不会导致父函数中 map 的修改
  • 不能使用内置函数 delete 删除 map 的元素
正确答案是:A
正确率:63%

解析:

本题目考查go语言中过map相关的知识点。

map 反序列化时 json.unmarshal 的入参必须为 map 的地址

在函数调用中传递 map,则子函数中对 map 元素进行的操作会影响到父函数中的 map。因此 B和C的说法是不正确的。

map的元素可以通过内置函数delete进行删除。

下面代码是删除map中元素的示例

package main

import (  
    "fmt"
)

func main() {  
    employeeSalary := map[string]int{
        "steve": 12000,
        "jamie": 15000,     
        "mike": 9000,
    }
    fmt.Println("删除之前的map:", employeeSalary)
    delete(employeeSalary, "steve")
    fmt.Println("删除之后的map:", employeeSalary)
}

运行示例

更多关于map知识点请移步至 Go 语言Map详解

查看笔记

扫码一下
查看教程更方便