当前位置: 首页 > news >正文

台州市建设招标投标网站劳务输送网站建设方案

台州市建设招标投标网站,劳务输送网站建设方案,企业推广产品有什么平台好,临沂医院网站建设映射#xff08;Maps#xff09; Go语言中的映射#xff08;map#xff09;等同于其他编程语言中的哈希表。映射的最大优势是可以使用任何可比较的数据类型作为键#xff0c;也就是所谓的“map key”或“键”。尽管Go语言中的映射并没有限制哪些数据类型可以作为键#…映射Maps Go语言中的映射map等同于其他编程语言中的哈希表。映射的最大优势是可以使用任何可比较的数据类型作为键也就是所谓的“map key”或“键”。尽管Go语言中的映射并没有限制哪些数据类型可以作为键但键必须是可比较的即Go编译器必须能够区分不同的键也就是说键必须支持操作符。 几乎所有的数据类型都是可比较的但使用bool类型作为键可能会限制映射的使用场景而使用浮点数作为键可能会由于机器和操作系统的精度差异带来一些问题。 你可以使用make()函数创建一个键为字符串值为整数的空映射 iMap make(map[string]int)或者使用字面量直接创建并初始化一个映射 anotherMap : map[string]int{k1: 12,k2: 13, }映射是对哈希表的引用Go隐藏了哈希表的具体实现因此你无需担心其复杂性。你可以像访问数组或切片一样使用键访问映射中的元素 fmt.Println(anotherMap[k1])可以使用delete()函数删除映射中的键值对 delete(anotherMap, k1)遍历映射 你可以使用range关键字遍历映射的所有元素 for key, value : range iMap {fmt.Println(key, value) }这是一个简单的示例 package main import fmtfunc main() {iMap : make(map[string]int)iMap[k1] 12iMap[k2] 13fmt.Println(iMap:, iMap)anotherMap : map[string]int{k1: 12,k2: 13,}fmt.Println(anotherMap:, anotherMap)delete(anotherMap, k1)fmt.Println(anotherMap:, anotherMap)_, ok : iMap[doesItExist]if ok {fmt.Println(存在!)} else {fmt.Println(不存在)}for key, value : range iMap {fmt.Println(key, value)} }运行上述代码的输出结果如下 iMap: map[k1:12 k2:13] anotherMap: map[k1:12 k2:13] anotherMap: map[k2:13] 不存在 k1 12 k2 13值得注意的是调用delete()函数多次不会有任何影响且不会产生警告。 nil映射 可以使用nil映射但不能向其中存储数据。例如 aMap : map[string]int{} aMap[test] 1这个代码是合法的。然而如果你试图向一个nil映射中插入数据程序会报错 aMap : map[string]int{} aMap nil aMap[test] 1这会导致运行时错误panic: assignment to entry in nil map。 常量Constants Go语言支持常量常量的值在程序运行期间是不能改变的。常量使用const关键字来定义。使用常量的主要好处是可以确保它们的值在程序执行期间不会发生变化且这些值是在编译时确定的。 例如可以这样定义常量 const HEIGHT 200也可以通过分组的方式定义多个相关的常量 const (C1 常量1C2 常量2C3 常量3 )如果你定义了数值型常量可以在表达式中灵活使用例如 const value 123 const s1 value * 10iota常量生成器 iota是Go语言中的常量生成器常用于声明一系列相关的递增值无需显式地为每个常量赋值。来看一个例子 const (Zero iota // 0One // 1Two // 2Three // 3 )也可以在位运算表达式中使用iota const (p2_0 1 iota // 1 0 1p2_2 1 iota // 1 2 4p2_4 1 iota // 1 4 16 )运行后的结果如下 2^0: 1 2^2: 4 2^4: 16iota的自动递增功能可以在需要生成一系列常量时极大简化代码。 指针Pointers Go语言中支持指针指针是存储变量内存地址的变量。指针允许你共享数据尤其是在函数之间传递数据时。你可以通过*来获取指针指向的值使用获取变量的内存地址。 例如定义一个接受指针作为参数的函数 func getPointer(n *int) {*n *n * *n }指针可以让你在函数内部修改传入的变量而无需返回任何值 package main import fmtfunc getPointer(n *int) {*n *n * *n }func main() {i : 10getPointer(i)fmt.Println(i:, i) // 输出i: 100 }指针虽然功能强大但使用不当容易引发难以调试的错误因此在使用时需要格外小心。 总结 Go语言的映射和常量提供了强大的数据处理能力映射可以存储多种不同类型的数据并支持动态操作而常量则确保了程序中的一些值在编译期间不会发生改变。此外Go语言中的指针允许数据共享尤其是在处理复杂数据结构时极具优势。通过本文的介绍读者可以更好地理解和应用这些Go语言中的重要特性。
http://www.w-s-a.com/news/666047/

相关文章:

  • 网站302跳转网站建设完成后 下一步做什么
  • 赣州制作网站企业硬件开发用什么语言
  • 新网站如何被网站收录百度排名优化软件
  • html网站简易模板国内买机票的网站建设
  • 百度关键词分析工具百度seo排名软
  • 自己怎样做免费网站ueditor 上传wordpress
  • 深圳高端网站开发网站建设公司销售技巧
  • 网站建设的优势是什么意思可拖动网站
  • 建设什么企业网站网站微信认证
  • 网站开发的平台成都有哪些好玩的
  • 上海金瑞建设集团网站怎么创建免费网页
  • 柳州做网站设计的公司制作网站软件下载
  • 湖南seo网站开发苏州网络营销及网站推广
  • 如何发布自己做的网站郑州网站建设定制开发
  • 重庆网站商城宁波网络公司联系方式
  • 个人网站建设实验心得seo课程简介
  • 免费自助建站系统下载推广app网站
  • 用scala做的网站标题关键词优化技巧
  • 百度网站评级wordpress忘记admin
  • 建筑标准下载网站263企业邮箱 登陆
  • 旅游房地产网站建设德保网站建设
  • 网站高端建设wordpress订单系统
  • 建设网站成本增加网站备案
  • 行业网站建设方案百度云图片转wordpress
  • 如何建设网站推广平台营销客户管理软件
  • 网站制作南宁如何撰写一个网站规划建设方案
  • 建站网站和维护需要会什么杭州人防质监站网址
  • 唐山免费做网站莱芜吧贴吧最新消息
  • 韶关市建设工程造价网站网络营销的平台有哪些
  • 网站建设费大概多少钱成都网站建设低价