2022-08-03:以下go语言代码输出什么?A:2;B:3;C:1;D:0。 package main import “fmt“ func main() { slice := []i

2022-08-03:以下go语言代码输出什么?A:2;B:3;C:1;D:0。

package main

import "fmt"

func main() {

    slice := []int{0, 1, 2, 3}
    m := make(map[int]*int)

    for key, val := range slice {
        m[key] = &val
    }

    fmt.Println(*m[2])
}

答案2022-08-03:

答案选B。val只会定义一次,等价于以下代码。

import (
	"fmt"
)

func main() {

	slice := []int{0, 1, 2, 3}
	m := make(map[int]*int)

	key := 0
	val := 0
	for key < len(slice) {
		val = slice[key]
		m[key] = &val
		key++
	}

	fmt.Println(*m[2])
}

在这里插入图片描述

posted @   福大大架构师每日一题  阅读(25)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
历史上的今天:
2021-08-03 2021-08-03:完美洗牌问题。给定一个长度为偶数的数组arr,假设长度为N*2,左部分:arr[L1……Ln],右部分: arr[R1……Rn],请把arr调整成arr[L1,R1,L2,R2,
点击右上角即可分享
微信分享提示