go build 参数_从0开始Go语言,用Golang搭建网站
從0開始Go語言,用Golang搭建網站
實踐是最好的學習方式
零基礎通過開發Web服務學習Go語言
本問適合有一定編程基礎,但是沒有Go語言基礎的同學。
也就是俗稱的“騙你”學Go語言系列。
這是一個適合閱讀的系列,我希望您能夠在車上、廁所、餐廳都閱讀它,涉及代碼的部分也是精簡而實用的。
學習需要動機
Go語言能干什么?為什么要學習Go語言?
本系列文章,將會以編程開發中需求最大、應用最廣的Web開發為例,一步一步的學習Go語言。當看完本系列,您能夠清晰的了解Go語言Web開發的基本原理,您會驚嘆于Go語言的簡潔、高效和新鮮。
結果反饋才能讓你記住
《刻意練習》一書中說,學習需要及時反饋結果,才能提高學習體驗。
本系列文章的每一節,都會包含一段可運行的有效代碼,跟著內容一步一步操作,你可以在你自己的計算機上體驗每一句代碼的作用。
不要學習不需要的東西
文章圍繞范例為核心,介紹知識點。文中不羅列語法和關鍵字,當您還不知道它們用來干什么時,反而會干擾您的注意力。
希望您在閱讀本系列文章后,對Go語言產生更多的學習欲望,成為一名合格的Gopher
Gopher:原譯是囊地鼠,也就是Go語言Logo的那個小可愛;這里特指Go程序員給自己的昵稱。如何10分鐘搭建Go開發環境
1.下載Go語言安裝文件
訪問Go語言官方網站下載頁面:
https://golang.org/dl
可以看到官網提供了Microsoft Windows、Apple MacOS、Linux和Source下載。
直接下載對應操作系統的安裝包。
[圖片上傳失敗...(image-591890-1557632893071)]
2.和其他軟件一樣,根據提示安裝
3.配置環境變量
在正式使用Go編寫代碼之前,還有一個重要的“環境變量”需要配置:“$GOPATH”
GOPATH環境變量指定工作區的位置。如果沒有設置GOPATH,則假定在Unix系統上為$HOME/go,在Windows上為 %USERPROFILE%go。如果要將自定義位置用作工作空間,可以設置GOPATH環境變量。GOPATH環境變量是用于設置Go編譯可以執行文件、包源碼以及依賴包所必要的工作目錄路徑,Go1.11后,新的木塊管理雖然可以不再依賴 $GOPATH/src,但是依然需要使用 $GOPATH/pkg 路徑來保存依賴包。
首先,創建好一個目錄用作GOPATH目錄
然后設置環境變量 GOPATH:
Linux & MacOS:
導入環境變量
$ export GOPATH=$YOUR_PATH/go
保存環境變量
$ source ~/.bash_profile
Windows:
控制面板->系統->高級系統設置->高級->環境變量設置
GOPATH所指定的目錄會生成3個子目錄:
- bin:存放 go install 編譯的可執行二進制文件
- pkg:存放 go install 編譯后的包文件,就會存放在這里
- src:存放 go get 命令下載的源碼包文件
4.檢查環境
打開命令行工具,運行
$ go env
如果你看到類似這樣的結果,說明Go語言環境安裝完成.
GOARCH="amd64" GOBIN="" GOCACHE="/Users/zeta/Library/Caches/go-build" GOEXE="" GOFLAGS="" GOHOSTARCH="amd64" GOHOSTOS="darwin" GOOS="darwin" GOPATH="/Users/zeta/workspace/go" GOPROXY="https://goproxy.io" GORACE="" GOROOT="/usr/local/go" GOTMPDIR="" GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64" GCCGO="gccgo" CC="clang" CXX="clang++" CGO_ENABLED="1" GOMOD="" CGO_CFLAGS="-g -O2" CGO_CPPFLAGS="" CGO_CXXFLAGS="-g -O2" CGO_FFLAGS="-g -O2" CGO_LDFLAGS="-g -O2" PKG_CONFIG="pkg-config" GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/7v/omg2000000000000019/T/go-build760324613=/tmp/go-build -gno-record-gcc-switches -fno-common"
5.選擇一款趁手的編輯器或IDE
現在很多通用的編輯器或IDE都支持Go語言比如
- Atom
- Visual Studio Code
- Sublime Text2
- ItelliJ Idea
Go語言專用的IDE有
- LiteIDE
- Goland
專用的IDE無論是配置和使用都比通用編輯器/IDE的簡單許多,但是我還是推薦大家使用通用編輯器/IDE,因為在開發過程中肯定會需要編寫一些其他語言的程序或腳本,專用IDE在其他語言編寫方面較弱,來回切換不同的編輯器/IDE窗口會很低效。
另外,專用IDE提供很多高效的工具,在編譯、調試方面都很方便,但是學習階段,建議大家手動執行命令編譯、調試,有利于掌握Go語言。
四行代碼的Hello World!所能表達出來的核心
命令行代碼僅適用于Linux和MacOS系統,Windows根據說明在視窗下操作即可。
1.創建項目
創建一個文件夾,進入該文件夾
$ mkdir gowebserver && cd gowebserver
新建一個文件 main.go
$ touch main.go
2. 用編輯器打開文件,并輸入以下代碼:
package main import "fmt" func main() { fmt.Println("Hello, 世界") }
3.打開命令行終端,輸入以下命令
$ go run main.go
看到終端會輸出:
Hello, 世界
第一個Go代碼就完成了
這是一個很簡單的Hello World,但是包含了Go語言編程的許多核心元素,接下來就詳細講解。
解讀知識點: 包 與 函數
package申明包 & import導入包
Go程序是由包構成的。
代碼的第一行, 申明程序自己的包,用 package關鍵字。package關鍵字必須是第一行出現的代碼。
范例代碼中,申明的本包名 main
在代碼中第二行, 導入“fmt”包, 使用 import 關鍵字。默認情況下,導入包的包名與導入路徑的最后一個元素一致,例如 import "math/rand",在代碼中使用這個包時,直接使用rand,例如 rand.New()
導入包的寫法可以多行,也可以“分組”, 例如:
import "fmt" import "math/rand"
或者 分組
import ( "fmt" "math/rand" )
fmt包是Go語言內建的包,作用是輸出打印。func關鍵字:定義函數
func是function的縮寫, 在Go語言中是定義函數的關鍵字。
func定義函數的格式為:
func 函數名(參數1 類型,參數2 類型){ 函數體 }
本例中定義了一個main函數。main函數沒有參數。 然后在main函數體里調用fmt包的Println函數,在控制臺輸出字符串 “Hello, 世界”
所有Go語言的程序的入口都是main包下的main函數 main.main(),所以每一個可執行的Go程序都應該有一個main包和一個main函數。
我們已經介紹了九牛一毛中的一毛,接下來正式通過搭建一個簡單的Web服務學習Go語言
0依賴,創建一個Web服務
先從代碼開始
打開之前創建好的main.go文件,修改代碼如下:
package main import ( "fmt" "net/http" ) func myWeb(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "這是一個開始") } func main() { http.HandleFunc("/
總結
以上是生活随笔為你收集整理的go build 参数_从0开始Go语言,用Golang搭建网站的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 10 月国内智能手机销量增长 11%:华
- 下一篇: android studio table