開發團隊正式推出Go 1.18版本,官方提到,這是一個大型版本,其中包括了新功能、效能改進,以及語言功能變更,具體的更新有泛型、模糊測試和工作區等。

Go 1.18終於開始支援泛型,開發團隊加入對參數化類別泛型程式碼的支援,官方提到,支援泛型一直是Go開發者最常要求的功能,而現在Go語言終於提供大多數用戶需要的泛型,開發者可以使用泛型語法,來探索最佳化和簡化程式碼的方法。官方也會持續更新泛型相關功能,後續版本還會對一些較複雜的通用使用案例,提供額外的支援。

Go 1.18還有另一個重大更新便是模糊測試,Go是第一個將模糊測試完全整合到標準工具鏈的主要語言,官方表示,跟泛型一樣,他們也已經對模糊測試進行了很長時間的測試,終於在Go 1.18推出。模糊測試能夠自動尋找可能導致程式崩潰的輸入,其利用自動化測試,來增加程式碼覆蓋(Code Coverage),發現可能被忽略的安全漏洞和臭蟲。

Arm64和PPC64架構的CPU,在Go 1.18都獲得大幅加速,官方解釋,他們在Go 1.17時加入暫存器ABI呼叫約定更新,而Go 1.18擴展了該功能支援,因此Apple M1、Arm64和PPC64的Go開發者,都能感受到高達20%的CPU效能改進。

被開發者大量採用的Go模組,在Go 1.18也獲得更新,根據官方在2021年對用戶的調查中,發現辨識模組是用戶跨模組工作時,所常遭遇的麻煩,因此在Go 1.18加入新的工作區模式,來簡化多模組使用。

熱門新聞

Advertisement