登录
首页 >  Golang >  Go问答

在 golang 中是否有一种从地图中获取值的好方法?

来源:Golang技术栈

时间:2023-03-28 11:01:51 196浏览 收藏

从现在开始,努力学习吧!本文《在 golang 中是否有一种从地图中获取值的好方法?》主要讲解了golang等等相关知识点,我会在golang学习网中持续更新相关的系列文章,欢迎大家关注并积极留言建议。下面就先一起来看一下本篇正文内容吧,希望能帮到你!

问题内容

如果我有一张地图 m 是否有更好的方法来获取值 v 的一部分而不是

package main
import (
  "fmt"
)

func main() {
    m := make(map[int]string)

    m[1] = "a"
    m[2] = "b"
    m[3] = "c"
    m[4] = "d"

    // Can this be done better?
    v := make([]string, len(m), len(m))
    idx := 0
    for  _, value := range m {
       v[idx] = value
       idx++
    }

    fmt.Println(v)
 }

有地图的内置功能吗?Go 包中是否有一个函数,或者如果我必须这样做,这是最好的代码吗?

正确答案

很不幸的是,不行。没有内置的方法可以做到这一点。

作为旁注,您可以在创建切片时省略容量参数:

v := make([]string, len(m))

这里暗示容量与长度相同。

好了,本文到此结束,带大家了解了《在 golang 中是否有一种从地图中获取值的好方法?》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>