亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

曾幾何時(shí),語言的在線運(yùn)行(Playground)似乎成了標(biāo)配。確實(shí),Playground 能夠讓我們可以快速試驗(yàn)一些想法。Go 語言在發(fā)布之初就提供了一個(gè),這就是 https://play.golang.org。然而,由于眾所周知的原因,我們?cè)L問不了。為了方便國內(nèi)廣大 gopher,我搞了一個(gè)國內(nèi)鏡像:https://play.studygolang.com,盡情使用、分享吧。

官方的 Playground

對(duì)比三款 Go Playground:你喜歡哪款?

 

不得不說,Go 官方的 Playground 真的比較原始。提供的功能比較少,主要有:

  • 格式化,但需要手動(dòng)點(diǎn)擊。在點(diǎn)擊格式化時(shí),如果勾選了 Imports,會(huì)自動(dòng)對(duì)使用的標(biāo)準(zhǔn)庫做導(dǎo)入;
  • 分享。能夠?qū)⒛愕拇a分享給其他人,方便對(duì)方查看、運(yùn)行;
  • 代碼片段。頂部下拉列表中提供了一些代碼片段,點(diǎn)擊可以直接切換編輯框內(nèi)容;

總結(jié)下:官方的 Playground 主要提供了在線編輯、運(yùn)行、分享 Go 代碼的功能,其中分享對(duì)全球的 gopher 來說,可以更方便的進(jìn)行代碼交流,排查問題等,分享也是使用最多的。

然而官方的 Playground 缺點(diǎn)也很明顯:

  • 界面簡單,略顯丑陋;
  • 不支持代碼高亮;
  • 不支持代碼提示;
  • 語法錯(cuò)誤無法實(shí)時(shí)提示;
  • 。。。

于是有了第三方的 Playground。

goplay.space

第一個(gè)出場的是 https://goplay.space。這是 iafan 在 2017 年開發(fā)的,

Go Play Space is an experimental alternative Go Playground[1] frontend that is built in Go itself (usingGopherJS[2]), a Go→JAVAScript transpiler, and Vecty[3], a React-like frontend library for GopherJS).

對(duì)比三款 Go Playground:你喜歡哪款?

 

可見,goplay.space 的代碼運(yùn)行依然使用官方的,只是替換了前端部分。看看它提供了哪些功能:

  • 語法高亮顯示,大括號(hào)和引號(hào)自動(dòng)關(guān)閉,正確的撤消/重做,自動(dòng)縮進(jìn);
  • 智能文檔查找:例如雙擊源代碼中的包名或 Println 等函數(shù)名稱,在右邊將看到相關(guān)的文檔;這個(gè)功能真的很實(shí)用;
  • 實(shí)時(shí)的語法錯(cuò)誤檢查;
  • 錯(cuò)誤行高亮顯示(語法錯(cuò)誤和編譯器返回的錯(cuò)誤);
  • 能夠突出顯示代碼行和代碼塊(類似在 Github 上,但更好!)—只需單擊行號(hào)即可。使用 Shift 和 Ctrl 修改選擇;
  • 鍵盤快捷鍵(請(qǐng)參閱頂部按鈕標(biāo)題處);
  • 支持多個(gè) UI 主題;
  • 支持 Fira Code[4] 字體(系統(tǒng)中已安裝的字體或 Webfont);
  • go import 始終在運(yùn)行代碼之前運(yùn)行,因此您通常不必?fù)?dān)心導(dǎo)入問題;

代碼執(zhí)行是官方的 Go Playground 的代理,因此它保證了程序?qū)⒂邢嗤慕Y(jié)果。同時(shí)共享的代碼段也存儲(chǔ)在 golang.org 服務(wù)器上。所以,分享的代碼,可以直接在 goplay.space 展示。比如這個(gè)代碼:https://play.golang.org/p/aouL6zP4O35,對(duì)應(yīng)的 goplay.space 就是:https://goplay.space/#aouL6zP4O35。

個(gè)人認(rèn)為 goplay.space 最大的特色是智能文檔查找,可以在寫代碼時(shí)及時(shí)查看文檔。要是加上自動(dòng)完成功能就好了。

goplay.tools

x1unix[5] 覺得以上兩個(gè) Playground 都不夠好。就在前些天(2020-08-12),發(fā)布了一個(gè) “Better Go Playground”,這就是 https://goplay.tools/。

幾個(gè)月前,x1unix 決定嘗試創(chuàng)建一個(gè)更好的 Go Play 版本,該版本將具有一些有價(jià)值的小功能,使原型制作足夠舒適,例如基本代碼自動(dòng)完成(僅支持 stdlib),語法檢查,代碼段和示例。另外,隨著 Go in WebAssembly 趨勢開始增長,添加了 WebAssembly 支持。

此外,用戶可以選擇編輯器字體以及一些其他選項(xiàng)的小選項(xiàng)來自定義編輯器。

這個(gè)項(xiàng)目基于 React 和 Monaco editor 創(chuàng)建。

對(duì)比三款 Go Playground:你喜歡哪款?

 

目前該 Playground 有如下特性:

  • 代碼完成:標(biāo)準(zhǔn)庫
  • 加載和保存文件
  • 代碼片段和教程,基于 gobyexample.com[6]
  • WebAssembly 支持
  • 暗黑模式
  • 更多定制選項(xiàng)

和 goplay.space 一樣,它也是官方 Playground 的代理,因此官方分享的,在這里也可以直接查看,方便國內(nèi)用戶。上面例子對(duì)應(yīng)該 Playground 是:https://goplay.tools/snippet/aouL6zP4O35。

仔細(xì)研究會(huì)發(fā)現(xiàn)它還支持鼠標(biāo)右鍵菜單,有類似 VSCode 的 Command Palette 功能,調(diào)出該面板的快捷鍵是 F1。

對(duì)比三款 Go Playground:你喜歡哪款?

 

代碼完成功能可以顯示對(duì)應(yīng)的文檔(針對(duì)標(biāo)準(zhǔn)庫),如下:

對(duì)比三款 Go Playground:你喜歡哪款?

 

可見這真的是一個(gè)更好的 Playground,一定程度上有點(diǎn)在線編輯器的感覺。該項(xiàng)目在 GitHub 的地址:https://github.com/x1unix/go-playground。

后記

除了以上三款,其實(shí)還有一些其他的,比較小眾,因此不做對(duì)比。最后,推薦大家以后可以使用 https://goplay.tools/,有興趣的也可以為它貢獻(xiàn)代碼。

參考資料

[1]

Go Playground: https://play.golang.org/

[2]

GopherJS: https://github.com/gopherjs/gopherjs

[3]

Vecty: https://github.com/gopherjs/vecty

[4]

Fira Code: https://github.com/tonsky/FiraCode

[5]

x1unix: https://twitter.com/x1unix

[6]

gobyexample.com: https://gobyexample.com/


覺得不錯(cuò),歡迎關(guān)注!

分享到:
標(biāo)簽:Playground
用戶無頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績?cè)u(píng)定