主頁 > 知識庫 > GoLand 2020.3 正式發(fā)布有不少新功能(支持泛型)

GoLand 2020.3 正式發(fā)布有不少新功能(支持泛型)

熱門標簽:貴州電話智能外呼系統(tǒng) 官渡電銷外呼管理系統(tǒng)怎么收費 杭州人工智能電銷機器人費用 谷歌美發(fā)店地圖標注 利用地圖標注位置 地圖區(qū)域圖標注后導出 400開頭電話怎樣申請 江蘇呼叫中心外呼系統(tǒng)有效果嗎 赤峰電銷

這是 2020 年第 3 個版本,也是最后一個版本。在 GoLand 2020.3 中,您可以探索 goroutines dumps,運行并導航到單個表測試(table tests),并從對 Testify 測試框架的擴展支持中獲得更多信息。你還將發(fā)現(xiàn)許多新的代碼編輯功能,包括對 time 包的支持,更智能的處理包方法,UI 改進,用于 Web 開發(fā)和使用數(shù)據(jù)庫的各種新功能以及用于協(xié)作開發(fā)和結對編程的新服務。具體看看有哪些新特性。

01 調(diào)試器改進 Dump Goroutines

調(diào)試器中新的轉(zhuǎn)儲 Goroutines(Dump Goroutines) 圖標使您可以在調(diào)試會話期間輕松地在堆棧中查找包含指定字符串的 goroutine。只需單擊該圖標即可在單獨的窗口中打開轉(zhuǎn)儲。

為了幫助您始終關注重要信息,可以選擇隱藏單個goroutine或具有相同堆棧的goroutine。右鍵單擊goroutine,然后選擇所需的操作,或按Delete鍵將其移至轉(zhuǎn)儲窗口中的特殊“隱藏”部分,這樣不會分散您的注意力。

Go Remote configuration

如果不需要重新連接,GoLand 2020.3可以通過 Go Remote 配置停止進程。

在配置設置中,您可以指定斷開連接時調(diào)試器的默認行為,可以選擇 “Stop remote Delve processes”,“使其保持運行狀態(tài)”或讓 GoLand 每次詢問您如何繼續(xù)。

02 測試增強

支持 table tests

您可以從 “Run” 工具窗口運行并導航到表測試。

有一些限制:

  • 測試數(shù)據(jù)變量必須是切片,數(shù)組或 map。它必須在與調(diào)用相同的函數(shù)中定義,并且在初始化后不得修改(for 循環(huán)中的 range 子句除外)。
  • 各個測試數(shù)據(jù)條目必須是結構體字面值。調(diào)用前不得使用子測試名稱表達式中使用的循環(huán)變量。
  • 子測試名稱表達式可以是測試數(shù)據(jù)中的字符串字段,測試數(shù)據(jù)字符串字段的連接以及帶有 %s 和 %d 動詞的fmt.Sprintf() 調(diào)用。

擴展了對 Testify 的支持

現(xiàn)在,IDE 可以識別啟動測試套件的測試功能,并提供一種啟動單個 suite.Run 和 suite.T().Run,只要子測試名稱是字符串常量即可。另外,可以從“Run”工具窗口重新運行子測試,以避免重新運行整個頂級測試。

此外,GoLand 現(xiàn)在可以在一個測試用例中使用相同的方法名稱分別運行 Testify 套件。

最后但并非最不重要的一點是,當您準備寫測試函數(shù)時(testing.T 作為第一個參數(shù)),GoLand 會在可能的情況下自動傳遞該參數(shù)。這適用于 testify/assert,testify/require,testify/mock 和 testify/suite 包。

03 代碼檢查

不正確使用類似 Println/Printf 的函數(shù),GoLand 會有警告,之前只對標準庫起作用,現(xiàn)在支持 github.com/pkg/errors, github.com/sirupsen/logrus 和 go.uber.org/zap 包。

最重要的是,我們添加了占位符突出顯示和折疊,以及添加格式字符串參數(shù)的意圖。

context.CancelFunc(不稱為代碼檢查)報告了 context 取消的潛在不安全使用。當 context 返回的 “cancel” 函數(shù)未在所有執(zhí)行路徑上調(diào)用時,此功能特別有用。

更多細節(jié)可以查看標準庫文檔:https://docs.studygolang.com/pkg/context。

04 代碼編輯

time 包的支持

Go 語言中文網(wǎng)注:Go 中的時間格式化和其他語言不一樣,其他語言都是使用 YYYY、MM、dd 等,而 Go 使用魔法數(shù)字:2006-01-02 15:04:05 這樣的固定時間。有些人可能記不住或習慣其他語言的格式。GoLand 2020.3 做了這樣的轉(zhuǎn)換,見下圖。

我們增加了對 time 包的支持,因此您可以更輕松地使用 time 和 duration。GoLand 將通過代碼補全(⌃Space)建議使用 ISO-8601 中 YYYY,MM,DD 占位符的預定義 Layout。

在某個 token 上按 ⌘P,IDE 將顯示其含義。Layout 標記也有語法突出顯示。代碼完成還建議在字符串文字之外的標準時間 Layout。

更智能的包處理

現(xiàn)在,IDE 可以更聰明地為您經(jīng)常使用的包的提示項配置優(yōu)先級,這些包是在項目的 go.mod 文件中明確聲明的。

我們還添加了一個選項,可將包從項目導入路徑和完成建議中完全排除。您可以通過 Alt + Enter 或在排除窗口中執(zhí)行此操作。

支持變量 shadowing

GoLang 可以更輕松地發(fā)現(xiàn)變量 shadowing。

IDE 顯示的變量現(xiàn)在可以用不同的顏色區(qū)分 shadowing 變量。

導航到 shadowing 聲明意圖操作,使您可以立即切換到 shadowing 聲明。

類型參數(shù)中的方括號

我們跟蹤了 Go 小組對 泛型 [1] 的更新,并增加了對泛型語法方括號的支持。

請注意,Settings | Go 中的 “ Enable generics (experimental support for type parameters) ” 默認情況下處于關閉狀態(tài)。您需要明確選擇該復選框才能開始使用該功能。

更多關于該功能的信息可以 查看該文章 [2] 。

05 其他改進

在測試文件中鍵入 func 時,默認情況下,GoLand 會提示出 bench 和 test 函數(shù)模板。

當您在基準測試中輸入 for 時,IDE 建議使用 b.N 的 for 循環(huán)來完成它。

改進了拼寫和語法檢查器

現(xiàn)在,當您按 Alt + Enter 時,建議會立即顯示在對話框中。此外,新版本的 LanguageTool 語法檢查引擎還改進了英語檢查功能,并增加了對 10 種其他語言的支持。

06 和我編碼(結對編程)

GoLand 2020.3 支持 Code With Me(EAP),這是 JetBrains 的一項新服務,用于協(xié)作開發(fā)和結對編程。與我一起編寫代碼使您可以與他人共享您當前在 IDE中 打開的項目,并實時進行協(xié)作。

關于該功能的更多信息請查看 這篇文章 [3] 。

07 其他

其他的改進有:

UI 改進;

VSC 更新;

Web 開發(fā)增強;

對數(shù)據(jù)庫支持增強;

關于這塊的詳細信息可以到 這里查看 [4] 。

08 總結

GoLand 是一個收費軟件,可以試用 30 天。如果覺得不錯,歡迎支持!當然免費的 VSCode 也香,對吧!

參考資料 [1]

泛型: https://groups.google.com/g/golang-nuts/c/iAD0NBz3DYw?pli=1

[2]

查看該文章: https://blog.jetbrains.com/go/2020/11/24/experimenting-with-go-type-parameters-generics-in-goland/

[3]

這篇文章: https://blog.jetbrains.com/tag/codewithme/

[4]

這里查看: https://www.jetbrains.com/go/promo/whatsnew/

到此這篇關于GoLand 2020.3 正式發(fā)布有不少新功能(支持泛型)的文章就介紹到這了,更多相關GoLand 2020.3支持泛型內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Goland支持泛型了(上機實操)
  • C++算法與泛型算法(algorithm、numeric)
  • Golang 使用接口實現(xiàn)泛型的方法示例
  • Go 泛型和非泛型代碼詳解

標簽:黔西 鷹潭 宜春 河池 保定 泰安 武漢 松原

巨人網(wǎng)絡通訊聲明:本文標題《GoLand 2020.3 正式發(fā)布有不少新功能(支持泛型)》,本文關鍵詞  GoLand,2020.3,正式,發(fā)布,有,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《GoLand 2020.3 正式發(fā)布有不少新功能(支持泛型)》相關的同類信息!
  • 本頁收集關于GoLand 2020.3 正式發(fā)布有不少新功能(支持泛型)的相關信息資訊供網(wǎng)民參考!
  • 推薦文章