Go學習筆記2之初識Go

2021-07-25 05:31:34 字數 3884 閱讀 6768

go tool先天就是設計來與開源倉庫協作的,不管你願不願意發布你的**,構建開發環境的方式是一樣的。

go**必須儲存在乙個工作空間裡, 乙個工作空間要有三個根目錄

乙個工作空間的示例:

如:# $home/github/golang作為自己的開發目錄

$ export gopath="$home/golang:$home/github/golang"

# 將每個gopath下面的bin目錄新增到path變數

$ export path=$path:$goroot/bin:$/bin

無論你是否要發布你的程式, 你都應該以要發布的方式來構建你的程式,最好的包名是 github.com/user

下面,我將介紹如何將從頭構建乙個簡單的go程式. 首先, 我們以/data/github/golang為工作空間

$ mkdir -p /data/github/golang

$ cd /data/github/golang

$ export

gopath=$(

pwd)

為了建立乙個簡單的程式. 首先要選擇包路徑, 如github.com/crazygit/hello, 並建立對於的目錄結構

在目錄$gopath/src/github.com/crazygit/hello裡建立hello.go

package

main

import

"fmt"

func

main

()

使用go工具編譯並安裝程式

$ cd

$gopath

$ go install github.com/crazygit/hello

或者

執行了之後,可以看到$gopath中多了乙個bin目錄,裡面有乙個名為hello的可執行檔案

$ $gopath/bin/hello

hello, world.

讓我們再建立乙個庫,同樣,先建立包路徑github.com/crazygit/stringutil

在裡面再建立乙個名為reverse.go

package

stringutil

func

reverse(s

string

)string

return

string(r

)}

編譯

$ cd

編譯過程不會有什麼檔案產生, 可以使用go install, 它會建立pkg目錄 並生成pkg/linux_amd64/github.com/crazygit/stringutil.a檔案.

修改hello.go,讓它使用我們剛剛建立的庫

安裝,當安裝的的時候,它會自動根據安裝依賴,所以安裝hello時, 它會自動安裝stringutil

$ go install github.com/crazygit/hello
執行

$ $gopath/bin/hello

hello, go!

go**檔案的第一句話必須是

package

name

name就是要引起的包名,所有在同乙個包下的包名也一樣

go裡面為了方便,會使用引入包路徑的最後一段作為包名,如crazygit/rot14的包名就是rot14

可執行的命令必須引入包package main

go自帶了乙個使用go test的測試框架,為了寫乙個測試檔案。

應該建立乙個檔名_test.go結尾的檔案,函式名為如test***的, 並且有引數t *testing.t

讓我們為stringutil包建立測試$gopath/src/github.com/crazygit/stringutil/reverse_test.go

package

stringutil

import

"testing"

func

testreverse(t

*testing.t

),,,

}for_,

c:=range

cases

}}

執行測試

到此,我們對go有了個大致的印象,雖然有些地方看不懂,不過沒有關係,我們後面會繼續學習。

Go語言 初識

go是乙個開源的程式語言。用途可以做web 開發,也可以做遊戲開發。高效能分布式系統領域,支援高併發。體驗寫乙個簡單的go程式 go語言的副檔名是 go 檔案。新建乙個test.go檔案package main import fmt func main 執行 go run test.go輸出hell...

初識go語言

恢復內容開始 初識go語言 入手一門新的語言,由於有python的基礎,可能會比較簡單點,畢竟各種程式語言之間是相通的 首先是當然是所以語言的第乙個程式,檔名的字尾是 go 這裡就不介紹go所需要的環境配置了 package main import fmt func main 一些簡單的東西,也不說...

初識Go語言

一 go語言的主要特性 開放源 的通用計算機程式語言。開放源 的軟體 以下簡稱開源軟體 更容易被修正和改進。雖為靜態型別 編譯型的語言,但go語言的語法卻趨於指令碼化,非常簡潔。卓越的跨平台支援,無需移植 這裡的跨平台主要是指計算架構和作業系統。全自動的垃圾 機制,無需開發者干預。go語言程式在執行...