溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Go語言實現(xiàn)的語言有哪些

發(fā)布時間:2021-10-18 14:16:54 來源:億速云 閱讀:198 作者:iii 欄目:編程語言

這篇文章主要講解了“Go語言實現(xiàn)的語言有哪些”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Go語言實現(xiàn)的語言有哪些”吧!

01 Go+

這是國內(nèi)七牛老大許式偉主導(dǎo)的,對 Go 語言的擴(kuò)展,專為數(shù)據(jù)科學(xué)領(lǐng)域打造。目標(biāo)是取代 Python 在數(shù)據(jù)科學(xué)領(lǐng)域的位置。

項目地址:https://github.com/goplus/gop,Star 數(shù):4.2k+。

該語言的前身是 qlang,2020 年 6 月份左右將其重命名為 Go+,并定位為數(shù)據(jù)科學(xué)領(lǐng)域。截止目前最新版本是 2021 年 1 月 8 日發(fā)布的  0.7.17,還不是穩(wěn)定版本。

這是一門靜態(tài)編程語言,完全兼容 Go 語言,類似腳本語言的風(fēng)格,比 Go 更具可讀性的數(shù)據(jù)科學(xué)代碼。

例如下面的 Go 代碼:

package main  func main() {     a := []float64{1, 2, 3.4}     println(a) }

對應(yīng)的 Go+ 代碼如下:

a := [1, 2, 3.4] println(a)

今天剛看到許大在尋找 Go+ 語言開發(fā)團(tuán)隊的負(fù)責(zé)人,有興趣的可以聯(lián)系許大(找我轉(zhuǎn)達(dá)也沒問題)。

目前看,距離目標(biāo)還有很長的路要走,最少先推出穩(wěn)定版本,然后有一個線上實際的應(yīng)用。

02 Tengo

Tengo 是一種小型、動態(tài)、快速、安全的腳本語言,它使用 Go 語言實現(xiàn),并且可以嵌入 Go 程序中。它的語法和 Go  語言類似。

項目地址:https://github.com/d5/tengo,Star 數(shù):2.2k+,目前最新版本是 2.6.2(2020 年 9 月 18  日發(fā)布)。

代碼示例:

/* The Tengo Language */ fmt := import("fmt")  each := func(seq, fn) {     for x in seq { fn(x) } }  sum := func(init, seq) {     each(seq, func(x) { init += x })     return init }  fmt.println(sum(0, [1, 2, 3]))   // "6" fmt.println(sum("", [1, 2, 3]))  // "123"

03 CX

CX 是一種用于區(qū)塊鏈的新編程語言,使用 Go 語言實現(xiàn),語法類似 Go 語言。

項目地址:https://github.com/skycoin/cx,Star 數(shù) 27,很凄慘。目前最新 tag 是  0.7.5,我查了下,該項目幾年前就存在了。目前看屬于半死不活的狀態(tài),是 skycoin  主導(dǎo)開發(fā)的。對區(qū)塊鏈不太熟悉,不知道這個語言能為區(qū)塊鏈開發(fā)帶來什么革命性的功能。

我安裝試用了下,寫了一個 Hello World 程序:

package main  func main() {   str.print("Hello, World!") }

哈哈哈,我又掌握了一門語言的 Hello World!

04 Goby

受 Ruby 啟發(fā)的面向?qū)ο蟮慕忉屝驼Z言,核心代碼 100% 使用 Go 實現(xiàn)。它具有標(biāo)準(zhǔn)庫,可提供多種功能,例如插件系統(tǒng)。

項目地址:https://github.com/goby-lang/goby,Star 數(shù) 3.2k+,目前最新版本 0.1.13(2020 年 4 月  26 日發(fā)布)。

Goby 的預(yù)期是用于后端開發(fā)。它具備(但不限于)以下功能:

  • 基于 Go goroutine 的 thread/channel 機(jī)制;

  • 內(nèi)置 database 庫;

  • json 支持;

  • 插件系統(tǒng),支持動態(tài)加載 Go 庫(目前不支持 Windows 系統(tǒng));

  • 可以直接訪問 Go 對象;

一個 Server 端 Hello World 的例子:

require "net/simple_server"  server = Net::SimpleServer.new("3000")  i = 0  server.get("/") do |req, res|   puts(i)   i = i+1   res.body = req.method + " Hello World"   res.status = 200 end  server.get("/not_found") do |req, res|   res.body = "Not Found"   res.status = 404 end  server.start

不知道 Ruby 愛好者喜歡不?!

05 總結(jié)

除了上面介紹的,還有其他一些 Go 語言實現(xiàn)的語言,比如 chai2010 的 wa 語言[1],以及其他一些腳本語言,如 Lua 虛擬機(jī) Go  實現(xiàn)、JS 虛擬機(jī)實現(xiàn)、Python 解釋器等。

Go語言實現(xiàn)的語言有哪些

感謝各位的閱讀,以上就是“Go語言實現(xiàn)的語言有哪些”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Go語言實現(xiàn)的語言有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

go
AI