当前位置:首页 > 科技  > 软件

Go 还缺少什么,能更完美?

来源: 责编: 时间:2024-06-05 17:46:25 85观看
导读大家好,我是煎鱼。最近国外社区 reddit 对 Go 这一门编程语言发起了一次讨论,提问的标题大致意思是:“你们认为 Go 还缺少什么,能让它变得更完美?”。图片内容上主要是方向是:开发人员对 Go 中缺少什么的看法,希望在 Go 中看

大家好,我是煎鱼。rGM28资讯网——每日最新资讯28at.com

最近国外社区 reddit 对 Go 这一门编程语言发起了一次讨论,提问的标题大致意思是:“你们认为 Go 还缺少什么,能让它变得更完美?”。rGM28资讯网——每日最新资讯28at.com

图片图片rGM28资讯网——每日最新资讯28at.com

内容上主要是方向是:开发人员对 Go 中缺少什么的看法,希望在 Go 中看到什么特性,能够使得其比现在要更好。rGM28资讯网——每日最新资讯28at.com

这些交流点,在日常读者群中也经常有同学提到。今天结合分享给大家。rGM28资讯网——每日最新资讯28at.com

社区觉得缺少什么

在我查看帖子时,得到最多人点赞的是以下两个功能。感觉挺工程和务实,都是日常写业务代码常用的:rGM28资讯网——每日最新资讯28at.com

  • 空值检查:希望 Go 编译器能可靠地告诉开发者是否忘记了空值检查,进行适当的提示。
  • 通用数据结构和函数:希望 Go 能够提供更多的通用数据结构和函数。

基于空值检查的变型,也有同学提出希望 Go 要能够支持这种特性:允许变量声明为允许空值或不允许空值。rGM28资讯网——每日最新资讯28at.com

如下伪代码:rGM28资讯网——每日最新资讯28at.com

final String? aNullableString = null;final String aNonNullableString = "Can't be null";

以此达到这个效果:如果将可空变量分配给不可空变量,则编译器会直接抛出错误,不给编译通过。rGM28资讯网——每日最新资讯28at.com

其次各类网友各抒己见,希望 Go 还要有以下几个经典功能:rGM28资讯网——每日最新资讯28at.com

  • 枚举(Enums)
  • 范围迭代器(Range iterators),这个正在实验中了。预计 Go1.23 支持,指日可待。
  • 三元运算符(Ternary operator)
  • 缺省值(例如:结构体的字段可以设置缺省值)
  • 泛型方法(更复杂和完善的泛型功能支持)
  • 更好的错误处理机制
  • 不可变的数据结构类型支持

一些争论点

当然有些人喜欢,想要这些特性。也会有人评论回复认为有所争议。rGM28资讯网——每日最新资讯28at.com

例如以下三点:rGM28资讯网——每日最新资讯28at.com

  • 错误处理:Go 的错误处理机制被指为冗长易错,有的开发者希望类似 try-catch 的结构,但官方和一些开发者认为违反了 Go 的简洁设计哲学。
  • 不可变数据结构:有的开发者希望内置不可变数据结构,以此帮助并发编程和减少错误,但又会增加语言的复杂性。
  • 标准库的扩展:有的开发者希望 Go 的标准库能含更多高级功能,例如:GUI。但有人认为标准库应保持精简,以避免臃肿。

总结

今天我们提到了社区里经常反馈期望支持的功能特性,虽然很多被打回了许多次,但有个别像范围迭代器也是已经在路上的了。rGM28资讯网——每日最新资讯28at.com

设计一门编程语言,如果没有基本准则和目标,利弊还是较难权衡的。根据前文的内容,你最希望要有的功能特性是哪个呢?rGM28资讯网——每日最新资讯28at.com

本文链接://www.dmpip.com//www.dmpip.com/showinfo-26-92172-0.htmlGo 还缺少什么,能更完美?

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 十个必备的Python控制操作系统调用技巧

下一篇: 团队代码风格混乱?Spotless 帮你搞定!

标签:
  • 热门焦点
Top
Baidu
map