MST

星途 面试题库

面试题:Go语言中Map性能调优之容量预分配

在Go语言中,若已知要向Map中插入1000个键值对,如何通过预分配容量来提升Map的性能?请给出代码示例。
15.9万 热度难度
编程语言Go

知识考点

AI 面试

面试题答案

一键面试
package main

import "fmt"

func main() {
    // 预分配容量为1000的map
    myMap := make(map[string]int, 1000)
    for i := 0; i < 1000; i++ {
        key := fmt.Sprintf("key%d", i)
        myMap[key] = i
    }
    // 打印map
    fmt.Println(myMap)
}

在上述代码中,通过make(map[string]int, 1000)预分配了能容纳1000个键值对的容量,这样在后续插入键值对时,可减少map动态扩容的次数,从而提升性能。