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

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

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

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

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

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

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

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

社区觉得缺少什么

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

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

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

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

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

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

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

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

一些争论点

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

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

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

总结

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

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

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

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

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

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

标签:
  • 热门焦点
  • 石头智能洗地机A10 Plus体验:双向自清洁治好了我的懒癌

    一、前言和介绍专为家庭请假懒人而生的石头科技在近日又带来了自己的全新旗舰新品,石头智能洗地机A10 Plus。从这个产品名上就不难看出,这次石头推出的并不是常见的扫地机器
  • K6:面向开发人员的现代负载测试工具

    K6 是一个开源负载测试工具,可以轻松编写、运行和分析性能测试。它建立在 Go 和 JavaScript 之上,它被设计为功能强大、可扩展且易于使用。k6 可用于测试各种应用程序,包括 Web
  • K8S | Service服务发现

    一、背景在微服务架构中,这里以开发环境「Dev」为基础来描述,在K8S集群中通常会开放:路由网关、注册中心、配置中心等相关服务,可以被集群外部访问;图片对于测试「Tes」环境或者
  • SpringBoot中使用Cache提升接口性能详解

    环境:springboot2.3.12.RELEASE + JSR107 + Ehcache + JPASpring 框架从 3.1 开始,对 Spring 应用程序提供了透明式添加缓存的支持。和事务支持一样,抽象缓存允许一致地使用各
  • 分布式系统中的CAP理论,面试必问,你理解了嘛?

    对于刚刚接触分布式系统的小伙伴们来说,一提起分布式系统,就感觉高大上,深不可测。而且看了很多书和视频还是一脸懵逼。这篇文章主要使用大白话的方式,带你理解一下分布式系统
  • 让我们一起聊聊文件的操作

    文件【1】文件是什么?文件是保存数据的地方,是数据源的一种,比如大家经常使用的word文档、txt文件、excel文件、jpg文件...都是文件。文件最主要的作用就是保存数据,它既可以保
  • 三星Galaxy Z Fold5今日亮相:厚度缩减但仍略显厚重

    据官方此前宣布,三星将于7月26日也就是今天在韩国首尔举办Unpacked活动,届时将带来带来包括Galaxy Buds 3、Galaxy Watch 6、Galaxy Tab S9、Galaxy
  • 三星Galaxy Z Fold5官方渲染图曝光:13.4mm折叠厚度依旧感人

    据官方此前宣布,三星将于7月26日在韩国首尔举办Unpacked活动,届时将带来带来包括Galaxy Buds 3、Galaxy Watch 6、Galaxy Tab S9、Galaxy Z Flip 5、
  • OPPO K11样张首曝:千元机影像“卷”得真不错!

    一直以来,OPPO K系列机型都保持着较为均衡的产品体验,历来都是2K价位的明星机型,去年推出的OPPO K10和OPPO K10 Pro两款机型凭借各自的出色配置,堪称有
Top