hw1 Go語言環境配置

2021-10-09 15:25:31 字數 4387 閱讀 6353

ubuntu 16.04

golang

$ sudo apt-

get install golang

$ sudo apt golang-go
使用

go version
得到如下結果

在ubuntu下使用命令

在/home目錄下, 建立乙個名為gopath(名字任意)的目錄,在該目錄中建立三個子目錄(名字必須為src、pkg和bin)

mkdir ~/gopath

cd ~/gopath

mkdir src

mkdir bin

mkdir pkg

gedit ~/.bashrc
將如下語句新增到配置檔案末尾

export gopath=/home/gopath
source ~/.bashrc
得到截圖結果

使用命令

得到結果

go install golang.org/x/tools/go/buildutil
退出 vscode,再進入,按提示安裝

參照go語言官方文件

讓我們編寫乙個庫,並讓 hello 程式來使用它。

同樣,第一步還是選擇包路徑(我們將使用 github.com/github-user/stringutil)

並建立包目錄:

$ mkdir $gopath/src/github.com/github-user/stringutil
接著,在該目錄中建立名為 reverse.go 的檔案,內容如下:

// stringutil 包含有用於處理字串的工具函式。

package stringutil

// reverse 將其實參字串以符文為單位左右反轉。

func

reverse

(s string

)string

return

string

(r)}

現在用 go build 命令來測試該包的編譯:

$ go build github.com/user/stringutil
當然,若你在該包的原始碼目錄中,只需執行:

$ go build
即可。這不會產生輸出檔案。想要輸出的話,必須使用 go install命令,它會將包的物件放到工作空間的 pkg 目錄中。

確認 stringutil 包構建完畢後,修改原來的 hello.go檔案(它位於 $gopath/src/github.com/user/hello)去使用它:

無論是安裝包還是二進位制檔案,go 工具都會安裝它所依賴的任何東西。

因此當我們通過

$ go install github.com/user/hello
來安裝 hello 程式時,stringutil 包也會被自動安裝。

執行此程式的新版本,你應該能看到一條新的,反向的資訊:

$ hello

hello, go!

做完上面這些步驟後,你的工作空間應該是這樣的:

bin/

hello # 可執行命令

pkg/

linux_amd64/ # 這裡會反映出你的作業系統和架構

stringutil.a # 包物件

src/

hello/

hello.go # 命令原始碼

stringutil/

reverse.go # 包原始碼

注意 go install 會將 stringutil.a 物件放到pkg/linux_amd64 目錄中,它會反映出其原始碼目錄。

這就是在此之後呼叫 go 工具,能找到包物件並避免不必要的重新編譯的原因。

linux_amd64 這部分能幫助跨平台編譯,並反映出你的作業系統和架構。

go的可執行命令是靜態鏈結的;在執行go程式時,包物件無需存在。

go原始檔中的第乙個語句必須是

package 名稱

這裡的 名稱 即為匯入該包時使用的預設名稱。(乙個包中的所有檔案都必須使用相同的 名稱。)

go的約定是包名為匯入路徑的最後乙個元素:作為 「crypto/rot13」匯入的包應命名為 rot13。

可執行命令必須使用package main。

鏈結成單個二進位制檔案的所有包,其包名無需是唯一的,只有匯入路徑(它們的完整檔名才是唯一的。

更多關於go的命名約定見實效go教程。

go擁有乙個輕量級的測試框架,它由 go test 命令和 testing

包構成。

你可以通過建立乙個名字以 _test.go 結尾的,包含名為test*** 且簽名為 func (t *testing.t) 函式的檔案來編寫測試。

測試框架會執行每乙個這樣的函式;若該函式呼叫了像 t.error 或

t.fail 這樣表示失敗的函式,此測試即表示失敗。

我們可通過建立檔案 $gopath/src/github.com/github-user/stringutil/reverse_test.go

來為 stringutil 新增測試,其內容如下:

package stringutil

import

"testing"

func

testreverse

(t *testing.t),,

,}for_

, c :=

range cases

}}

接著使用 go test 執行該測試:

同樣,若你在包目錄下執行 go 工具,也可以忽略包路徑

測試結果如圖示

該包執行正常

chmod -r 777 (資料夾路徑)
來解決

3.在配置過程中遇到了虛擬機器卡頓,以致部分配置過程沒有留下截圖

go語言環境配置

官網 go語言的安裝 預設安裝,被安裝了 usr local go 目錄 並自設定了環境變數。go env 可檢視目前的go的環境變數 這go就可以執行了,下面還要配置乙個gopath環境變數,是工作目錄。根據約定,gopath下需要建立3個目錄 bin 儲存編譯後的可執行檔案 pkg 存放編譯後生...

go語言 環境配置

安裝軟體一般有兩類 三種 方式 使用編譯好的二進位制檔案 ubuntu系統選擇下面這個 解壓之後,配置環境變數,例如 在 bashrc中配置 配置好後,source bashrc就好了 自行編譯原始碼 go語言實現語言 go從1.5版本開始實現 自舉 bootstrap 也就是用go來實現go 之前...

1,安裝go語言開發環境

go語言官方支援兩種編譯工具鏈gc和gccgo,但是其中gc更加成熟。因此本文將學習如何安裝更加成熟的gc工具。目前gc工具鏈只支援一下作業系統和體系結構。operating system architectures notes freebsd 7 or later amd64,386 debian...