登录
首页 >  Golang >  Go问答

同步地图结构的Golang访问

来源:stackoverflow

时间:2024-02-09 15:27:20 160浏览 收藏

学习Golang要努力,但是不要急!今天的这篇文章《同步地图结构的Golang访问》将会介绍到等等知识点,如果你想深入学习Golang,可以关注我!我会持续更新相关文章的,希望对大家都能有所帮助!

问题内容

我正在尝试加载同步映射中任意定义的结构类型数据。有没有方便的方法通过定义(如泛型、sync.map[struct]{})来访问地图类型?

package main

import (
    "sync"
)

type mystruct struct {
    cnt int
}

func (m *mystruct) Add() {
    m.cnt++
}
func main() {

    m := sync.Map{}
    m.Store("a", &mystruct{1})
    m.Store("b", &mystruct{1})

    v, _ := m.Load("a")
    v.Add() // i know v.(*mystruct).Add() will solve problem. but is that really only solution?
}

https://go.dev/play/p/vme7zuw-rab


正确答案


但这真的是唯一的解决方案吗?

是的。或者等待Go 1.18并将sync.Map包装在通用容器中。

到这里,我们也就讲完了《同步地图结构的Golang访问》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于的知识点!

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