※網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!
當全世界的人們隨著網路時代而改變向上時您還停留在『網站美醜不重要』的舊有思維嗎?機會是留給努力改變現況的人們,別再浪費一分一秒可以接觸商機的寶貴時間!
文章每周持續更新,原創不易,「三連」讓更多人看到是對我最大的肯定。可以微信搜索公眾號「 後端技術學堂 」第一時間閱讀(一般比博客早更新一到兩篇)
前面幾周陸陸續續寫了一些後端技術的文章,包括數據庫、微服務、內存管理等等,我比較傾向於成體系的學習,所以數據庫和微服務還有後續系列文章補充。
最近工作上比較多的 Golang 編程,現在很多互聯網公司都在轉向 Golang 開發,所以打算寫一寫有關 Go 語言學習的系列文章,目標是從 Go 基礎到進階輸出一系列文章,沉澱下這些知識同時也給大家做參考,力求做到通俗易懂,即使你是 Golang
小白也能看懂,如果你是老手也能溫故知新。
本文將要和你分享 linux 下安裝 Golang 環境,並且講解如何通過配置 VSCode 遠程開發調試 Golang 程序。
下載源碼
你可以用系統自帶的包管理工具比如 yum
或 apt-get
來安裝Golang開發環境。不過,為了通用性,我選擇通過源碼的方式來安裝和講解,在官網下載源碼,下載地址 https://golang.org/dl/
手動安裝
解壓安裝
我這裏下載下來的源碼包 go1.14.2.linux-amd64.tar.gz
放到遠程 Linux 服務器目錄下。執行以下命令安裝到 /usr/local 目錄。
tar -zxvf -C /usr/local/ `go1.14.2.linux-amd64.tar.gz`
創建工作空間
工作空間是你Go項目的「工作目錄」,挑選一個合適目錄,執行下面操作:
mkdir GoPath
mkdir -p GoPath/src
mkdir -p GoPath/bin
mkdir -p GoPath/pkg
三個目錄含義:
src: 源碼路徑(例如:.go、.c、.h、.s 等)
pkg: 編譯包時,生成的.a文件存放路徑
bin: 編譯生成的可執行文件路徑
配置環境變量
安裝過程中有這麼幾個環境變量需要配置,先來了解一下:
GOROOT:Go的安裝路徑,也就是前面我們解壓到的目錄 /usr/local/go
。
GOBIN:Go項目的二進制文件存放目錄。
GOPATH:Go的工作空間。前面有介紹的工作空間目錄。
在 /etc/profile
文件追加以下內容完成設置。
export GOROOT=/usr/local/go
export GOPATH=/yourpath/GoPath # 設置你自己的GoPath路徑
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOROOT/bin # 加入到PATH環境變量
export PATH=$PATH:$GOPATH/bin
# source /etc/profile #立即生效
驗證安裝
# go version #檢查版本
# go version go1.14.2 linux/amd64 # 輸出版本號
如果看到版本信息就代表安裝成功了!
遠程開發
上面我們在 Linux 環境下安裝好了 Golang 開發環境,但我不想每次打開終端登錄服務器編寫調試程序,怎麼才能在本地PC開發調試Golang程序呢?
看過我上一篇Vscode遠程開發的小夥伴應該能想到方法,我們就要用Vscode搭建Golang遠程開發環境。具體的遠程開發配置可以查看我的另一篇文章。
Golang開發插件
首先安裝官方推薦的 Go 開發插件,如下,點他安裝。
接着還會出現如下的提示,是因為缺少其他 Go 開發相關插件,點 install all
全都裝上就行。
Hello World
編程界有個慣例,什麼語言開始學習都是從 Hello World 開始。現在,我們就用 Golang 編寫第一個 HelloWorld
程序吧。
上代碼:
package main // 所有Go程序從main包開始運行
import "fmt" // 導入fmt包
func main() {
fmt.Print("hello world", " i am ready to go :)\n")
fmt.Println("hello world", "i am ready to go :)")
}
格式化 包
fmt
實現了類似 C++/C 語言的格式IO庫功能。
Print
和 Println
都可用於打印輸出,但是功能略有不同。可以看到我在Print
函數中,對后一個字符串加了空格和換行符,這樣兩個打印出來的結果是相同的。
func Print(a ...interface{}) (n int, err error)
Print採用默認格式將其參數格式化並寫入標準輸出。如果兩個相鄰的參數都不是字符串,會在它們的輸出之間添加空格。返回寫入的字節數和遇到的任何錯誤。
※網頁設計一頭霧水該從何著手呢? 台北網頁設計公司幫您輕鬆架站!
透過資料庫的網站架設建置,建立公司的形象或購物系統,並提供最人性化的使用介面,讓使用者能即時接收到相關的資訊
Println
func Println(a ...interface{}) (n int, err error)
Println採用默認格式將其參數格式化並寫入標準輸出。總是會在相鄰參數的輸出之間添加空格並在輸出結束后添加換行符。返回寫入的字節數和遇到的任何錯誤。
調試
終端調試
在終端命令行源碼所在目錄輸入go run
運行程序。
# go run HelloWorld.go
//輸出
hello world i am ready to go :)
hello world i am ready to go :)
也可以先編譯go build
得到可執行文件后再運行。
# go build HelloWorld.go
# ls
HelloWorld HelloWorld.go
# ./HelloWorld
hello world i am ready to go :)
hello world i am ready to go :)
Vscode調試
按F5
啟動調試,編輯與調試控制台輸出如下:
命令行參數獲取
命令行參數可以通過os
包的 Args
函數獲取,代碼如下:
package main
import (
"fmt"
"os"
"strconv"
)
func main() {
// 命令行參數獲取,os.Args第一個參數是程序自身
fmt.Println(os.Args)
for idx, args := range os.Args {
fmt.Println("參數"+strconv.Itoa(idx)+":", args)
}
}
終端設置
以下是帶參數argv1 argv2 運行golang程序和輸出。
# go run basic.go argv1 argv2
# 輸出
[/tmp/go-build441686724/b001/exe/basic argv1 argv2]
參數0: /tmp/go-build441686724/b001/exe/basic
參數1: argv1
參數2: argv2
VSCode設置
launch.json文件的 args
屬性配置可以設置程序啟動調試的參數。
設置之後,按F5
啟動調試,就會在調試控制台輸出配置的參數。
環境變量獲取
命令行參數可以通過os
包的 Getenv
函數獲取,代碼如下:
package main
import (
"fmt"
"os"
)
func main() {
// 獲取環境變量
fmt.Println(os.Getenv("type"), os.Getenv("name"), os.Getenv("GOROOT"))
}
VSCode設置環境變量
launch.json
文件的 args
屬性配置可以設置 VSCode 調試的 Golang 程序環境變量。
設置的格式是:name:vaule 形式,注意都是字符串。
終端設置環境變量
終端的環境變量設置就是可以用 Linux 的 export
命令設置,之後就可以用 os.Getenv
函數讀取。
比如我們最初設置 GOROOT
環境變量的命令
export GOROOT=/usr/local/go
就可以用 os.Getenv("GOROOT")
讀取,比較簡單,這裏就不多說了。
總結
現在,你有了一個可以遠程開發調試 Golang 的環境,趕緊去寫個 hello world
體驗一下吧!今天的分享就到這,下一篇文章講解基礎語法。
老規矩,感謝各位的閱讀,文章的目的是分享對知識的理解,技術類文章我都會反覆求證以求最大程度保證準確性,若文中出現明顯紕漏也歡迎指出,我們一起在探討中學習。今天的技術分享就到這裏,我們下期再見。
Reference
設置GOPATH
Visual Studio Code變量參考
Golang 獲取系統環境變量
os庫獲取命令行參數
原創不易,不想被白票,如果在我這有收穫,就動動手指「點贊」和「轉發」是對我持續創作的最大支持。
可以微信搜索公眾號「 後端技術學堂 」回復「資料」「1024」有我給你準備的各種編程學習資料。文章每周持續更新,我們下期見!
本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理
※想知道最厲害的網頁設計公司嚨底家"!
RWD(響應式網頁設計)是透過瀏覽器的解析度來判斷要給使用者看到的樣貌