首页 > 其他分享 >go map键类型小记

go map键类型小记

时间:2022-09-01 11:58:31浏览次数:55  
标签:map hash struct 类型 key go 小记

一、Go语言map的键类型不可以是函数类型、字典类型和切片类型。因为map键值需要可以做hash操作,而func,map,slice不支持这些操作。

 

报错:

 

 

并且,一般Struct可以支持hash操作,如果在struct里面包含slice,就不行了:

 

 

 

二、Chan可以支持hash操作,是因为他的值是个指针:

 

 

 

 但是指针用作key的意义不大,因为再构造一个同样的struct,即使内部值一样,但是由于struct地址不一样,也不能再业务上实现想要的目的。

 

面对struct中包含不可hash的内容,我们可以通过构造一个可以hash的内容,来代替struct本身成为key。比如:

 

 

 

标签:map,hash,struct,类型,key,go,小记
From: https://www.cnblogs.com/zxq89/p/16646016.html

相关文章

  • sprinngboot+Mongodb
    参考:https://blog.csdn.net/m0_46742141/article/details/121845098 maven依赖<dependency><groupId>org.springframework.boot</groupId>......
  • Django国际化
    安装python环境并配置系统变量安装django:pipinstallDjangoCMD中输入django-admin 看看是否有命令提示输出,如果没有,将”xxxxx\Roaming\Python\Python39\Scripts”加......
  • MongoDB 实现中文全文搜索
    Prerequisite倒排索引是所有支持全文搜索的数据库的基础。比如iamironman和iwillbesoonback,欲查找be,先查第一句,再查第二局,这是正排;将每个单词提取出来形成一个......
  • getParameterMap的使用
    就是前端提交到Servlet或者Action里面的参数Map哈,如果你是以表单提交,那么request.getParameterMap()中将包含你表单里面所有input标签的数据,以其name为key,以其value为值,如......
  • [Google] LeetCode 552 Student Attendance Record II
    Anattendancerecordforastudentcanberepresentedasastringwhereeachcharactersignifieswhetherthestudentwasabsent,late,orpresentonthatday.......
  • Go 网络编程
    互联网协议前言现在我们几乎每天都在使用互联网,我们前面已经学习了如何编写Go语言程序,但是如何才能让我们的程序通过网络互相通信呢?本章我们就一起来学习下Go语言中的网......
  • GOHTTP请求
    HTTP请求本次内容context单元测试(给函数做单元测试)pprof调试工具(go语言内置工具)可以看到代码的cpu和运行时的一些信息能看到一些图表信息,如内存占用、cpu占用等......
  • 使用 Gin 框架在 GoLang 中构建 API 服务
    使用Gin框架在GoLang中构建API服务今天我将向你展示如何在Go中构建一个简单的API服务。我们的项目演示将是一个简单的作者和他们的图书库项目。第一步:首先,我......
  • django框架03
    目录静态文件操作静态文件资源及配置form表单注意事项request对象方法pycharm连接MySQLdjango连接MySQLdjangoORMORM操作MySQL操作数据的增删改查操作外键创建静态文件操......
  • 轻量级消息队列 Django-Q 轻度体验
    前言最近做的这个项目(基于Django),需要做个功能,实现定时采集车辆定位。这让我想起来几年前那个OneCat项目,当时我用的是Celery这个很重的组件Celery实在是太重了,后来我做公......