軟體安裝
如果打不開可以:
wget #原始碼包
wget #執行包
新版(2020-04-04)
wget
新版(2020-05-24)
wget
新版(2020-08-27)預計該版本將很長時間內不會在大變動
wget
tar -zxvf go1.10.3.linux-amd64.tar.gz
mv go /usr/local/
環境變數設定export gobin=/opt/wks/go/gopath/bin
export gopath=/opt/wks/go/gopath
export path=$path:$goroot/bin:$gobin
source /etc/profile
which go
/usr/local/go/bin/go
go 包引用
乙個專案通常只有乙個入口,即乙個main
mkdir -p src/mkdir src/ch02/ch0201
$ cat src/ch01/a.go
package ch01
var a = "
魚只有七分鐘的記憶嗎?
"var b uint16= 65534
var c
bool = true
//供外部呼叫的方法一定要以大寫字母開頭
func show()
$ cat src/ch02/b.go
package ch02
var a
int = 10
var b = 10
func show()
$ cat src/ch02/ch0201/bb.go
package ch0201
import
"fmt
"func show()
$ cat src/main/main.go
package main
import (
"ch01""
ch02""
ch02/ch0201")
func main()
go語言的執行
可以使用 go run aa.go的執行指令碼
$ go run src/main/main.go
魚只有七分鐘的記憶嗎? 65534 true
10 10 10
面積為 : 50
1 false str
編譯go指令碼為可執行檔案
將以上程式打包編譯為乙個可執行檔案,前提是要設定gopath目錄,go build會自動去$gopath/src目錄下尋找相關目錄,乙個指令碼中只能有乙個package main包,即只有乙個入口
以下這個命令可以在系統的任何目錄下執行,go會自動去$gopath/src目錄下找main目錄
$ go build -o testgo main
$ ll
total 1976
-rwxrwxr-x 1 tanpengfei tanpengfei 2020337 sep 28 10:44 testgo
$ ./testgo
魚只有七分鐘的記憶嗎? 65534 true
10 10 10
面積為 : 50
1 false str
當然了,乙個main目錄可以有多個main包的檔案,程式本身不會報錯,但你就不無法在該目錄下使用go build了,只能使用go run aa.go,所以建議乙個包下只有乙個main入口
go build的目錄
go build -o execname main 中的main是乙個目錄,可以修改為其他目錄,比如build,但這個目錄是gopath變數中的第乙個分支下的目錄,比如下面的變數定義
那麼執行go build -o execname build 表示將/opt/code/gopath/src/build目錄的程式打包為execname可執行檔案
因此go build -o execname build這條命令可在系統上的任意位置執行
補充說明
使用ide建立go專案時,會自動建立三個目錄:src,bin,pkg
進入乙個包含main方法的目錄,執行 go install ,會在pkg下生成以乙個以.a為字尾的檔案(對我們沒用,當檔案存在時不會重複生成而是直接使用),然後在bin目錄下生成乙個可執行檔案
進入乙個包含main方法的目錄,執行 go build,每次都會重新拉取所有涉及到的**編輯並生成可執行檔案
重點總結
gopath的作用:程式的執行、編譯都是以gopath為基礎的
ide goland
初始化專案結構
syl注 建立三個python包,使用pycharm開啟專案 1.右擊 編輯配置 2.檔案 設定 3.檔案 設定 建立user模型 urlpatterns path user include user.urls sys path insert 0 os.path join base dir,from...
初始化專案結構
1.初始化專案結構 2.建立django專案 root dev shiyanlou project workon syl syl root dev shiyanlou project cd aaa shiyanlou project syl root dev shiyanlou project dj...
go結構體初始化 Go語言初始化結構體的成員變數
結構體在例項化時可以直接對成員變數進行初始化,初始化有兩種形式分別是以字段 鍵值對 形式和多個值的列表形式,鍵值對形式的初始化適合選擇性填充欄位較多的結構體,多個值的列表形式適合填充欄位較少的結構體。使用 鍵值對 初始化結構體 結構體可以使用 鍵值對 key value pair 初始化字段,每個 ...