本文目錄一覽:
「測試開發全棧化-Go」(1) Go語言基本了解
作為一個測試,作為一個測試開發, 全棧化+管理 是我們未來的發展方向。已經掌握了Java、Python、HTML的你,是不是也想了解下最近異常火爆的Go語言呢?來吧,讓我們一起了解下。
Go 是一個開源的編程語言 ,它能讓構造簡單、可靠且高效的軟體變得容易。
Go是從2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持開發,後來還加入了Ian Lance Taylor, Russ Cox等人,並最終於2009年11月開源,在2012年早些時候發布了Go 1穩定版本。現在Go的開發已經是完全開放的,並且擁有一個活躍的社區。這三個人都是計算機界的大神,有的參與了C語言的編寫,有的還是數學大神,有的還獲得了計算機最高榮譽-圖靈獎。
接下來說說 Go語言的特色 :
簡潔、快速、安全
並行、有趣、開源
內存管理、數組安全、編譯迅速
Go語言的用途 :
Go 語言被設計成一門應用於搭載 Web 伺服器,存儲集群或類似用途的巨型中央伺服器的系統編程語言。
對於高性能分散式系統領域而言,Go 語言無疑比大多數其它語言有著更高的開發效率。它提供了海量並行的支持,這對於 遊戲 服務端的開發而言是再好不過了。
Go語言的環境安裝:
建議直接打開 官方地址因為牆的原因打不開
因為我用的是windows系統,這裡主要講下Windows系統上使用Go語言來編程。
Windows 下可以使用 .msi 後綴(在下載列表中可以找到該文件,如go1.17.2.windows-amd64.msi)的安裝包來安裝。
默認情況下 .msi 文件會安裝在 c:Go 目錄下。你可以將 c:Gobin 目錄添加到 Path 環境變數中。添加後你需要重啟命令窗口才能生效。個人建議還是安裝到 Program Files文件夾中。
使用什麼開發工具來對Go語言進行編寫:
個人建議用VS code, 也可以用Sublime Text來編輯。如果你之前看了我講的HTML語言的學習,肯定已經下載了VS code. 那麼這時你需要在VS code中下載Go語言的擴展插件。
這裡有一個巨大的坑,就是在下載Go的插件和依賴包時,會提示一些包沒有。主要是因為下載的依賴包部分被牆了,只能想別的辦法去下載。
建議參考網頁:
解決vscode中golang插件安裝失敗方法
在學習go的過程中,使用的是vscode,但是一直提示安裝相關插件失敗,然後上網查方法,基本上是叫你建立golang.org目錄什麼的,結果全是錯的,而且都是抄襲,很煩。無意之中看到一位博主分享的方法,他也是飽受上述的垃圾博文困擾,然後找到了解決方法,這裡向他致敬,秉著讓更多人看到正確解決方法的心,我寫下正確的解決方法,希望對你有所幫助,也可以點開原博主鏈接參考:
Go有一個全球模塊代理,設置代理再去安裝golang的插件,就可以安裝成功了。步驟有,首先Windows用戶打開Powershell,一個藍色的界面,注意不是cmd!不知道的直接打開window下面的搜索,然後輸入powershell,搜索出來就可以了。
$env:GO111MODULE=「on」
$env:GOPROXY=「」
go env -w GOPROXY=
go env -w GOPRIVATE=*.corp.example.com
然後我們打開VsCode界面,下面會提示安裝插件,我們選擇Install ALL,就會安裝成功
當你在運行Go語言程序時,提示所有的插件包都已經安裝成功了時,就可以正常使用了,要不然一堆報錯會讓你非常心煩。
好了,今天先到這裡,晚安、下班~
Golang棄用go get工具
由於golang發布了新版本1.17.1,你可能會在使用go get -u安裝包時得到這個錯誤。
例如:在安裝goose包時使用:
返回如下錯誤:
go get在g.mod中同時用於更新依賴和安裝命令。這種組合很混亂,使用起來也很不方便,因為開發人員不想同時進行更新和安裝。
隨著1.17.1版本的發布不再支持go get命令。那麼以後如何安裝依賴包呢?
1、根據文檔,如果要在當前模塊的上下文中安裝可執行文件時,使用go install不帶版本後綴。如下所示:
這個命令適用於安裝當前目錄或父目錄中go.mod定義的版本要求和其他命令。
2、要安裝可執行文件同時忽略當前模塊go.mod,使用go install帶上版本後綴例如:@v1.2.3 或@latest
因此變化在於:使用install替換get,去除-u在包URL末尾添加@latest。或者對於舊版本不是最新版本情況,在包URL的末尾添加指定版本。
現在可以成功安裝。
如何在shell上運行golang
Linux 直接用 chmod -x 文件名 將它的屬性修改為可運行,然後就可以通過命令行執行它了,後綴名你改為 .sh ,這是 shell 默認支持的文件類型
golang項目中使用條件編譯
golang中沒有類似C語言中條件編譯的寫法,比如在C代碼中可以使用如下語法做一些條件編譯,結合宏定義來使用可以實現諸如按需編譯release和debug版本代碼的需求
build tags 是通過代碼注釋的形式實現的,要寫在文件的最頂端;
go build指令在編譯項目的時候會檢查每一個文件的build tags,用來決定是編譯還是跳過該文件
build tags遵循以下規則
示例:
約束此文件只能在支持kqueue的BSD系統上編譯
一個文件可能包含多行條件編譯註釋,比如:
約束該文件在linux/386 或 darwin/386平台編譯
需要注意的點
正確的寫法如下:
編譯方法:
具有_$GOOS.go後綴的go文件在編譯的時候會根據當前平台來判斷是否將該文件導入並編譯;同樣適用於處理器架構判斷 _$GOARCH.go。
兩者可以結合起來使用,形式為: _$GOOS_$GOARCH.go
示例:
文件名必須提供,如果只由後綴的文件名會被編譯器忽略,比如:
這兩個文件會被編譯器忽略,因為以下劃線開頭的文件都會被忽略
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/241828.html