日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

我的Go+语言初体验--Go+之环境安装与程序编码初体验

發布時間:2024/5/21 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 我的Go+语言初体验--Go+之环境安装与程序编码初体验 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、Go+ 簡介

  • 對于 Go+ 工程而言:
    • Go+ 將支持所有 Go 功能(包括部分支持 cgo);
    • Go+ 提供了更簡單優雅的語法,比 Go 更接近自然語言;
    • Go+ 易于學習,不必在一開始就處理工程的復雜性;
    • Go+ 能夠賦權每一行代碼,可以用更少的代碼做更多的工作。
  • 對于 Stem 教學,與 Scratch 相比:
    • Scratch 僅用于編程教學,它基于塊狀界面,自然直觀,但與實際工程體驗不一致;
    • 沿用 Code Monkey 的經驗,Go+ 直接使用代碼進行編程教學,引入了低學習難度(不高于基于塊的編程)和平滑的學習曲線;
    • Go+ 創新地實現了工程與教學的融合,學習的語言也是工作的語言,通過創建更有成效的課程,學習者將獲得更大的學習成就感。
  • 對于 Data Science,Go+ 提供了更強大的數學表達式功能,例如有理數表達式,可簡化數據科學用途的編程,并且 Go+ 支持字節碼后端和 Go 代碼生成。與 Python 相比,Go+ 提供:
    • 更好的性能;
    • 更像自然語言的語法;
    • 與 Python 生態系統的兼容性(未來);
    • 數據科學和工程的相同語言。

二、下載與安裝

① 下載

  • 默認情況下,Go 命令使用 Google 運行的 Go 模塊鏡像和 Go 校驗和數據庫下載和驗證模塊,可以直接在 Go+ Downloads下載 Go 并安裝程序。
  • 如下所示,指定下載,可以根據自己的硬件設備和環境進行相應選擇的下載:

  • go1.17.5 的版本選擇:

  • go1.16.12 版本選擇下載:

② 安裝

  • Linux:
    • 將下載的存檔解壓縮到 /usr/local,在 /usr/local/go 中創建一個 Go 樹;
    • 此步驟將在解壓之前刪除 /usr/local/go 中的先前安裝(如果有), 繼續之前最好備份所有數據。例如,以 root 身份或通過 sudo 運行以下命令:
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.17.4.linux-amd64.tar.gz
    • 將 /usr/local/go/bin 添加到 PATH 環境變量中,可以通過將以下行添加到 $HOME/.profile 或 /etc/profile(對于系統范圍的安裝)來執行此操作(不過,需要注意:在下次登錄計算機之前,對配置文件所做的更改可能不會生效,要立即應用更改,只需直接運行 shell 命令或使用諸如 source $HOME/.profile 之類的命令從配置文件中執行它們):
export PATH=$PATH:/usr/local/go/bin
    • 通過以下命令提示符來驗證是否已安裝 Go,確認該命令打印已安裝的 Go 版本:
$ go version
  • Mac:
    • 打開下載的包文件,按照提示安裝Go,該軟件包將 Go 發行版安裝到 /usr/local/go,該包應該將 /usr/local/go/bin 目錄放在 PATH 環境變量中,不過可能需要重新啟動所有打開的終端會話才能使更改生效;
    • 通過打開以下命令提示符來驗證您是否已安裝 Go,確認該命令打印已安裝的 Go 版本:
$ go version
  • Windows:
    • 打開下載的 MSI 文件并按照提示安裝 Go,默認情況下,安裝程序將安裝 Go to Program Files 或 Program Files (x86)。;
    • 當然可以根據需要更改位置,安裝后需要關閉并重新打開所有打開的命令提示符,以便安裝程序對環境所做的更改反映在命令提示符中;
    • 驗證是否已安裝 Go:
      • 在 Windows 中,單擊“開始”菜單;
      • 在菜單的搜索框中,鍵入 cmd,然后按 Enter 鍵;
      • 在出現的命令提示符窗口中,鍵入以下命令:
$ go version
    • 確認該命令打印已安裝的 Go 版本。

③ Go+ 擴展插件

  • 在 VSCode 安裝 goplus 擴展插件:
    • 啟動 VSCode,點擊左側菜單欄中的 “擴展” 按鈕,進入 VSCode 應用商店;
    • 在 VSCode 應用商店搜索 “gopplus”(插件 ID:goplus.gop),找到 “goplus” 擴展插件;
    • 點擊 “goplus” 擴展插件右下方的“安裝”按鈕,安裝 Go+ 擴展插件。
  • VSCode 成功安裝 goplus 擴展插件后,如下圖所示:

④ Go+ 學習環境

  • Go+ 學習教程:Go+ 教程;
  • Go+ 在線練習:Go+ 在線。

三、編碼初體驗

① 三種方式打印 “Hello world”

  • 命令方式:
println "Hello world"
  • 函數方式:
println("Hello world")
  • 軟件工程方式:
package mainfunc main() {println("Hello world") }

② 值類型

  • Go+ 具有多種值類型,包括字符串、整數、浮點數、布爾值等。如下所示,字符串可以用 + 拼在一起,整數和浮點數,布爾運算符等:
println "Go"+"Plus" println "1+1 =", 1+1 println "7.0/3.0 =", 7.0/3.0 println true && false println true || false println !true
  • 運行結果:
GoPlus 1+1 = 2 7.0/3.0 = 2.3333333333333335 false true false

③ 有理數

  • 將有理數作為原生 Go+ 類型引入,我們使用后綴 r 來表示有理數文字。 例如,(1r << 200) 表示一個大整數,其值等于 2200,而 4/5r 表示有理常數 4/5:
import "math/big"var a bigint = 1r << 65 // bigint, large than int64 var b bigrat = 4/5r // bigrat c := b - 1/3r + 3 * 1/2r // bigrat println a, b, cvar x *big.Int = 1r << 65 // (1r << 65) is untyped bigint, and can be assigned to *big.Int var y *big.Rat = 4/5r println x, y
  • 運行結果:
36893488147419103232 4/5 59/30 36893488147419103232 4/5

④ 數組

  • 數組的使用:
a := [x*x for x <- [1, 3, 5, 7, 11]] b := [x*x for x <- [1, 3, 5, 7, 11], x > 3] c := [i+v for i, v <- [1, 3, 5, 7, 11], i%2 == 1] d := [k+","+s for k, s <- {"Hello": "xsw", "Hi": "Go+"}]arr := [1, 2, 3, 4, 5, 6] e := [[a, b] for a <- arr, a < b for b <- arr, b > 2]x := {x: i for i, x <- [1, 3, 5, 7, 11]} y := {x: i for i, x <- [1, 3, 5, 7, 11], i%2 == 1} z := {v: k for k, v <- {1: "Hello", 3: "Hi", 5: "xsw", 7: "Go+"}, k > 3}println a, b, c, d, arr, e, x, y, z

⑤ 集合

  • 集合數據篩選:
type student struct {name stringscore int }students := [student{"Ken", 90}, student{"Jason", 80}, student{"Lily", 85}]unknownScore, ok := {x.score for x <- students, x.name == "Unknown"} jasonScore := {x.score for x <- students, x.name == "Jason"}println unknownScore, ok // output: 0 false println jasonScore // output: 80
  • 運行結果:
0 false 80
  • 檢查集合中是否存在數據:
students := [student{"Ken", 90}, student{"Jason", 80}, student{"Lily", 85}]hasJason := {for x <- students, x.name == "Jason"} // is any student named Jason? hasFailed := {for x <- students, x.score < 60} // is any student failed?println hasJason, hasFailed
  • 運行結果:
true false

⑥ 范圍(for)

  • 范圍表示:
for i <- :10 {println i }for i := range :10:2 {println i }for i := range 1:10:3 {println i }for range :10 {println "Range expression" }
  • 運行結果:
0 1 2 3 4 5 6 7 8 9 0 2 4 6 8 1 4 7 Range expression Range expression Range expression Range expression Range expression Range expression Range expression Range expression Range expression Range expression

四、備注

  • “我的Go+語言初體驗” | 征文活動進行中…

總結

以上是生活随笔為你收集整理的我的Go+语言初体验--Go+之环境安装与程序编码初体验的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。