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

GoLand 2021.1 重磅發(fā)布:新特性試用報(bào)告

開發(fā) 前端
GoLand 現(xiàn)在可以通過 Docker、SSH 和 WSL 2 遠(yuǎn)程構(gòu)建和運(yùn)行程序。具體就是,你可以在本地編寫 Go 代碼,然后在遠(yuǎn)程的某個(gè)機(jī)器運(yùn)行你的代碼,而且支持 Windows 下的 Linux 子系統(tǒng) WSL 2。

[[392209]]

大家好,我是站長 polarisxu。

jetbrains 官方剛發(fā)布了 GoLand 2021.1 版本。這個(gè)版本有些重磅的特性值得關(guān)注。

我安裝試用了下,發(fā)現(xiàn)啟動(dòng)界面變了(jetbrains 系列 IDE 啟動(dòng)界面都變了)。

01 遠(yuǎn)程構(gòu)建和運(yùn)行程序

VSCode 的朋友們可能要說:切,這個(gè)功能,VSCode 早就有了。。。

GoLand 現(xiàn)在可以通過 Docker、SSH 和 WSL 2 遠(yuǎn)程構(gòu)建和運(yùn)行程序。具體就是,你可以在本地編寫 Go 代碼,然后在遠(yuǎn)程的某個(gè)機(jī)器運(yùn)行你的代碼,而且支持 Windows 下的 Linux 子系統(tǒng) WSL 2。

配置遠(yuǎn)程構(gòu)建和運(yùn)行,有如下兩種方式:

1)通過 Run 菜單,Manage Targets… 配置 Run 目標(biāo)。

2)或通過 Run 菜單,Edit Configuration… 然后在以下界面 “Run on” 右側(cè)有 “Manage targets”,同樣可以配置 Run 目標(biāo);或者直接通過以下界面 Create New Targets 或選擇 Saved targets。

以上兩種方式,如果點(diǎn)擊 Manage targets,則會(huì)進(jìn)入以下的 Run Targets 界面:

通過以上的配置后,Run on 選擇你想運(yùn)行的目標(biāo),下次 Run 時(shí)候就在對應(yīng)目標(biāo)上運(yùn)行了。(為什么沒有 WSL 2?因?yàn)槲也皇?Windows 系統(tǒng))

運(yùn)行后,你可以去遠(yuǎn)端目標(biāo)確認(rèn),是否有文件(源文件和編譯的臨時(shí)文件等)。

02 對 Go1.16 的支持

這里說的 Go1.16 的支持,主要是指對 //go:embed 的支持。要特別提醒的是,Go1.16 很多特性,GoLand 其他版本都是支持的,因?yàn)闆]有太多特別的。而這里要說的是,對 //go:embed 這個(gè)指令的支持,GoLand 2021.1 可以對它進(jìn)行提示。如下圖:

此外,對指令提供代碼高亮顯示,從嵌入指令內(nèi)部的引用導(dǎo)航到項(xiàng)目中的文件和文件夾等。同時(shí) GoLand 還會(huì)進(jìn)行代碼檢查,比如,如果你試圖將文件嵌入到錯(cuò)誤類型的變量中,GoLand 會(huì)提示出來。(注意只有導(dǎo)入 embed 包后才會(huì)高亮顯示等,當(dāng)然,導(dǎo)入該包也可以根據(jù) GoLand 提示快速導(dǎo)入)

03 快速處理錯(cuò)誤

Go 語言中,錯(cuò)誤處理被吐槽比較多。if err != nil 寫到手軟。

如下代碼:

  1. func main() { 
  2.  testErrorHandle() 
  3.  
  4. func testErrorHandle() error { 
  5.  return errors.New("This is error"

在 main 中對 testErrorHandle 的調(diào)用,需要處理 error,怎么辦?鼠標(biāo)停留在 testErrorHandle 的調(diào)用處,會(huì)出現(xiàn)提示:

點(diǎn)擊 Handle error,會(huì)自動(dòng)變成:

  1. err := testErrorHandle() 
  2. if err != nil { 
  3.   return  

不用自己手寫了。(也可以通過快捷鍵實(shí)現(xiàn),Handle error 后面就是對應(yīng)的快捷鍵)

04 基于 JSON 生成 struct

微信群里,經(jīng)常有人問類似這樣的問題:

針對這段 JSON 如何定義 struct?

因?yàn)檫@樣的需求挺多,所有網(wǎng)上有很多類似的工具,比如 https://mholt.github.io/json-to-go/?,F(xiàn)在這樣的需求,GoLand 直接幫你解決了。

比如有如下 JSON:

  1.  name"polarisxu"
  2.  wechat: "gopherstudio" 

你復(fù)制粘貼到 GoLand 的某個(gè) Go 文件中,會(huì)彈出一個(gè)對話框,提示你是否要轉(zhuǎn)為 struct:

確認(rèn)后,生成如下 struct(struct 名稱默認(rèn)是 T,進(jìn)行修改即可):

  1. type T struct { 
  2.  Name   string `json:"name"
  3.  Wechat string `json:"wechat"

相當(dāng)方便了。

此外,在 tag 字段,按下 Alt+Enter(或 option + Enter,Mac 下),會(huì)出現(xiàn) context actions 對話框,可以進(jìn)行相關(guān)的操作修改,比如修改字段名。很方便。

05 其他特性

還有其他較多特性,我沒有一一試驗(yàn)。這里列舉一下:

  • 為 struct 字段生成 getter 和 setter。好吧,感覺 Go 不太需要;
  • 自動(dòng)做強(qiáng)制類型轉(zhuǎn)換。比如 int32 類型賦值給 int64;
  • 重構(gòu) go.mod 文件;
  • 更好的格式化;
  • Code With Me。這是多人協(xié)作的功能。

本文轉(zhuǎn)載自微信公眾號(hào)「polarisxu」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系polarisxu公眾號(hào)。

 

責(zé)任編輯:武曉燕 來源: polarisxu
相關(guān)推薦

2009-02-13 09:19:23

試用報(bào)告MoonlightSilverlight

2020-10-21 10:01:47

HiSpark Wi-智能家居套件

2009-07-24 17:13:25

Expression

2020-11-17 12:15:36

MQTT開發(fā)

2009-06-24 11:13:26

2015-01-26 09:47:53

Windows 10

2020-11-03 09:53:04

體驗(yàn)官方固件程序

2012-06-15 16:57:54

微瘋客

2011-09-14 17:48:48

2009-10-19 20:36:01

手機(jī)安全360手機(jī)衛(wèi)士

2020-11-23 09:32:43

WIFI連接

2009-07-27 10:35:20

2014-08-21 10:34:11

Java 9Java

2021-01-21 12:23:06

人工智能機(jī)器學(xué)習(xí)技術(shù)

2012-08-02 17:38:38

瀏覽器

2011-07-29 09:31:32

JDK 7
點(diǎn)贊
收藏

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