在围棋中,有没有更简单/更好的方法从 map 中获取一片关键点?

目前,我正在对 map 进行迭代,并将关键点复制到一个切片:

i := 0
keys := make([]int, len(mymap))
for k := range mymap {
    keys[i] = k
    i++
}

推荐答案

例如,

package main

func main() {
    mymap := make(map[int]string)
    keys := make([]int, 0, len(mymap))
    for k := range mymap {
        keys = append(keys, k)
    }
}

为了在围棋中高效,最大限度地减少内存分配是很重要的.

Go相关问答推荐

我不能让GIO画一个按钮

需要类型[]*structpb.Value(GCP Golang客户端库;aiPlatform)

Date.Format正在输出非常奇怪的日期

Golang:访问any类型泛型上的字段

如何测试 Zerolog 记录器引发类型错误的日志(log)事件?

Golang 发送Post请求出现400错误

Go 中如何调用测试函数?

使用 Go 解组 SOAP 消息

创建新对象后如何返回嵌套实体?

也许在 golang 中包(字符串和字符串类型不匹配)

没有任务角色的 AWS CDK ECS 任务定义

如何将一片十六进制字节转换为整数

go:embed 文件扩展名模式

我如何解码 aes-256-cfb

Go:用于 XML 解码的嵌套 struct 中的提升字段

将 CSVExport 函数传递给处理程序 Gin

为什么 go-cmp Equal() 说 struct 不是完全相等的,即使所有字段都非常相等?

将基本 HTTP AUth 用户/密码凭据存储在 GO 中,无需外部包

行之间的模板交替设计

有没有办法在golang中映射一组对象?