func main() { go fmt.Println(「hello") }
func test_pipe() { pipe := make(chan int, 3) pipe <- 1 pipe <- 2 pipe <- 3 sum = <-pipe // pipe <- 4 fmt.Println("sum=", sum) fmt.Println(len(pipe)) }
a.一個函數返回多個值python
package main func clac(a int, b int) (int, int) { // 多è¿」回值 c := a + b d := (a + b) / 2 return c, d }
Linuxlinux
FreeBSDgit
Mac OS X(也稱爲 Darwin)github
Windowsgolang
安裝包下載地址爲:https://golang.org/dl/。json
若是打不開可使用這個地址:https://golang.google.cn/dl/。windows
根據操做系統選擇對應的安裝包,點擊安裝包進行安裝(linux直接解壓)併發
設置環境變量函數
export GOROOT=$PATH:/path/to/go/ export PATH=$PATH:$GOROOT/bin/ export GOPATH=/home/user/project/go
windows安裝的若是是msi安裝文件,Go語言的環境變量會自動設置好。若是後面的測試沒法經過,能夠從新設置環境變量。post
set GOBIN=D:\Go\bin /* 設置go的可執行文件路徑 */ set GOPATH=E:\go\project /* 設置工做目錄路徑 */ set GOROOT=D:\Go /* 設置安裝go的根目錄 */
hello world, 在新建hello.go
package main import "fmt" func main() { fmt.Println("hello world") }
在終端輸入go run hello.go,如何成功打印hello world則證實配置成功
首先打開擴展,搜索Go,點擊安裝
使用VScode時,當咱們安裝完go語言擴展時,新建一個go的源碼文件,進行保存時,會提示咱們須要安裝一些go的擴展插件,可別小看這些插件,這些插件都是很是有用的,好比說自動補全等,通常咱們都會選擇install all去進行安裝全部插件,這些插件均是從github上進行下載,可是由於地處中國被牆的緣由,大多插件都會下載失敗。
這些失敗的庫,不是沒有下載下來,而是依賴的文件在go官網上,致使失敗。如下爲解決辦法:
一、在%GOPATH%\src\ 目錄下,創建golang.org 文件夾,並再新建x文件夾。最終目錄爲 "%GOPATH%\src\golang.org\x\"
二、完成目錄切換後,開始下載插件包:
git clone https://github.com/golang/tools.git tools
三、執行完之後,會多一個tools文件夾。
四、打開vsCode終端,切換到 終端,進入「%GOPATH」目錄,執行下述命令
注意:下述命令根據須要進行下載,並非所有都要下載,此處博主僅僅下載了vscode提示須要裝的。 go install github.com/ramya-rao-a/go-outline go install github.com/acroca/go-symbols go install golang.org/x/tools/cmd/guru go install golang.org/x/tools/cmd/gorename go install github.com/josharian/impl go install github.com/rogpeppe/godef go install github.com/sqs/goreturns go install github.com/golang/lint/golint go install github.com/cweill/gotests/gotests go install github.com/ramya-rao-a/go-outline go install github.com/acroca/go-symbols go install golang.org/x/tools/cmd/guru go install golang.org/x/tools/cmd/gorename go install github.com/josharian/impl go install github.com/rogpeppe/godef go install github.com/sqs/goreturns go install github.com/golang/lint/golint go install github.com/cweill/gotests/gotests go get -u -v github.com/mdempsky/gocode go install golang.org/x/tools/cmd/goimports
可是,有一個插件仍是安裝失敗了,這個插件就是golint
下面將介紹golint插件的安裝方法,爲手動安裝,其餘插件安裝失敗都可以採用此方法進行手動安裝
手動安裝至關於直接從github上將該插件源碼下載下來。
一、在vscode終端中咱們首先進入%GOPATH%\src\golang.org\x\下,而後執行以下命令進行golint源碼包下載:
git clone https://github.com/golang/lint.git lint
二、 而後執行以下命令便可安裝成功
go get -u github.com/golang/lint/golint
設置位置:文件-首選項-設置-打開json設置,打開json添加以下設置:
{ "go.autocompleteUnimportedPackages": true, "go.inferGopath": true, "go.gotoSymbol.includeImports": true, "go.useCodeSnippetsOnFunctionSuggest": true, "go.gocodePackageLookupMode": "go", }
參考 https://www.liwenzhou.com/posts/Go/00_go_in_vscode/?tdsourcetag=s_pcqq_aiomsg
實例: 代碼目錄
add.go
package calc func Add(a int, b int) int { return a + b }
sub.go
package calc func Sub(a int, b int) int { return a - b }
main.go
package main import ( "fmt" "go_dev/day1/package_example/calc" ) func main() { sum := calc.Add(100, 300) sub := calc.Sub(100, 300) fmt.Println("sum=", sum) fmt.Println("sub=", sub) }
編譯
go build -o 輸出路徑(相對於GOPATH) 包的路徑(相對於GOPATH/src) go build -o bin/calc.exe go_dev/day1/package_example/main
goroute.go
package main import "fmt" func test_goroute(a int) { fmt.Println(a) }
main.go
package main import "time" func main() { for i := 0; i < 100; i++ { go test_goroute(i) } time.Sleep(3 * time.Second) } // go build go_dev/day1/goroute
add.go
package goroute func Add(a int, b int, c chan int) { sum := a + b c <- sum }
main.go
package main import ( "fmt" "go_dev/day1/goroute_example/goroute" ) func main() { var pipe chan int pipe = make(chan int, 1) go goroute.Add(100, 300, pipe) sum := <-pipe fmt.Println("sum=", sum)