26
Sep
文/李建興 | 2022-08-04發表
Go官方推出了1.19版本,這個版本因為Go 1.18大改版延後發布的關係,釋出的時程顯得有些緊湊。該版本的一大重點便是修正Go 1.18所加入的泛型功能,官方根據社群所回報的問題以及邊角案例,進行了不少調整,同時也改進了效能表現,部分泛型程式碼的效能提升甚至可高達20%。
文件註解現在支援連結、列表和標題語法,官方提到,這些改進將有助於用戶編寫更清楚,且易於閱讀的文件註解,特別是針對大型API套件,清楚的註解有助於降低套件的採用障礙。另外,Go的記憶體模型現在也明確定義了sync/atomic套件的行為,修改後的happens-before關係定義,現在與C、C++、Java、JavaScript、Rust和Swift等程式語言一致。當前程式不受此修改影響。
Go的垃圾回收器則加入了一個軟性的記憶體限制,該限制對於在專有記憶體容量的容器中,最佳化Go程式盡可能提高運作效率特別有用。