自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

開(kāi)發(fā) 前端
Go 的錯(cuò)誤處理機(jī)制被指為冗長(zhǎng)易錯(cuò),有的開(kāi)發(fā)者希望類似 try-catch 的結(jié)構(gòu),但官方和一些開(kāi)發(fā)者認(rèn)為違反了 Go 的簡(jiǎn)潔設(shè)計(jì)哲學(xué)。

大家好,我是煎魚(yú)。

最近國(guó)外社區(qū) reddit 對(duì) Go 這一門(mén)編程語(yǔ)言發(fā)起了一次討論,提問(wèn)的標(biāo)題大致意思是:“你們認(rèn)為 Go 還缺少什么,能讓它變得更完美?”。

圖片圖片

內(nèi)容上主要是方向是:開(kāi)發(fā)人員對(duì) Go 中缺少什么的看法,希望在 Go 中看到什么特性,能夠使得其比現(xiàn)在要更好。

這些交流點(diǎn),在日常讀者群中也經(jīng)常有同學(xué)提到。今天結(jié)合分享給大家。

社區(qū)覺(jué)得缺少什么

在我查看帖子時(shí),得到最多人點(diǎn)贊的是以下兩個(gè)功能。感覺(jué)挺工程和務(wù)實(shí),都是日常寫(xiě)業(yè)務(wù)代碼常用的:

  • 空值檢查:希望 Go 編譯器能可靠地告訴開(kāi)發(fā)者是否忘記了空值檢查,進(jìn)行適當(dāng)?shù)奶崾尽?/li>
  • 通用數(shù)據(jù)結(jié)構(gòu)和函數(shù):希望 Go 能夠提供更多的通用數(shù)據(jù)結(jié)構(gòu)和函數(shù)。

基于空值檢查的變型,也有同學(xué)提出希望 Go 要能夠支持這種特性:允許變量聲明為允許空值或不允許空值。

如下偽代碼:

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

以此達(dá)到這個(gè)效果:如果將可空變量分配給不可空變量,則編譯器會(huì)直接拋出錯(cuò)誤,不給編譯通過(guò)。

其次各類網(wǎng)友各抒己見(jiàn),希望 Go 還要有以下幾個(gè)經(jīng)典功能:

  • 枚舉(Enums)
  • 范圍迭代器(Range iterators),這個(gè)正在實(shí)驗(yàn)中了。預(yù)計(jì) Go1.23 支持,指日可待。
  • 三元運(yùn)算符(Ternary operator)
  • 缺省值(例如:結(jié)構(gòu)體的字段可以設(shè)置缺省值)
  • 泛型方法(更復(fù)雜和完善的泛型功能支持)
  • 更好的錯(cuò)誤處理機(jī)制
  • 不可變的數(shù)據(jù)結(jié)構(gòu)類型支持

一些爭(zhēng)論點(diǎn)

當(dāng)然有些人喜歡,想要這些特性。也會(huì)有人評(píng)論回復(fù)認(rèn)為有所爭(zhēng)議。

例如以下三點(diǎn):

  • 錯(cuò)誤處理:Go 的錯(cuò)誤處理機(jī)制被指為冗長(zhǎng)易錯(cuò),有的開(kāi)發(fā)者希望類似 try-catch 的結(jié)構(gòu),但官方和一些開(kāi)發(fā)者認(rèn)為違反了 Go 的簡(jiǎn)潔設(shè)計(jì)哲學(xué)。
  • 不可變數(shù)據(jù)結(jié)構(gòu):有的開(kāi)發(fā)者希望內(nèi)置不可變數(shù)據(jù)結(jié)構(gòu),以此幫助并發(fā)編程和減少錯(cuò)誤,但又會(huì)增加語(yǔ)言的復(fù)雜性。
  • 標(biāo)準(zhǔn)庫(kù)的擴(kuò)展:有的開(kāi)發(fā)者希望 Go 的標(biāo)準(zhǔn)庫(kù)能含更多高級(jí)功能,例如:GUI。但有人認(rèn)為標(biāo)準(zhǔn)庫(kù)應(yīng)保持精簡(jiǎn),以避免臃腫。

總結(jié)

今天我們提到了社區(qū)里經(jīng)常反饋期望支持的功能特性,雖然很多被打回了許多次,但有個(gè)別像范圍迭代器也是已經(jīng)在路上的了。

設(shè)計(jì)一門(mén)編程語(yǔ)言,如果沒(méi)有基本準(zhǔn)則和目標(biāo),利弊還是較難權(quán)衡的。根據(jù)前文的內(nèi)容,你最希望要有的功能特性是哪個(gè)呢?

責(zé)任編輯:武曉燕 來(lái)源: 腦子進(jìn)煎魚(yú)了
相關(guān)推薦

2015-12-09 14:15:42

物聯(lián)網(wǎng)藍(lán)圖

2018-11-25 21:04:14

操作系統(tǒng)WindowsXP

2025-04-11 08:45:00

2009-04-06 22:29:30

2019-12-14 16:41:40

5G運(yùn)營(yíng)商網(wǎng)絡(luò)

2016-11-16 19:03:02

Ubuntu應(yīng)用程序

2013-06-03 10:55:39

BingWindows 8.1微軟

2012-05-15 15:20:01

佳能掃描儀

2020-02-19 10:29:53

虛擬機(jī)Windows 工具

2012-07-16 09:20:21

Fedora 17Windows 8

2012-09-17 11:06:06

2025-03-04 00:25:55

Go開(kāi)發(fā)者切片

2012-04-17 11:48:32

清華紫光掃描儀

2024-01-03 08:48:09

NilAway靜態(tài)分析工具

2022-06-26 23:03:14

Go標(biāo)準(zhǔn)庫(kù)語(yǔ)言

2020-08-12 07:53:39

技術(shù)債技術(shù)科學(xué)

2020-12-28 13:43:03

MacWindowsSurface

2019-05-15 11:38:22

GoogleGo編程語(yǔ)言

2021-01-06 12:04:05

人工智能AI智能交通
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)