欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

go語言學(xué)習(xí)常用命令 go 語言 教程

寫命令行應(yīng)用程序什么不可或缺?Go可以這樣處理命令行參數(shù)

Go語言內(nèi)置的flag包實現(xiàn)了命令行參數(shù)的解析,flag包使得開發(fā)命令行工具更為簡單。

創(chuàng)新互聯(lián)是一家專業(yè)提供旅順口企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站建設(shè)、網(wǎng)站設(shè)計html5、小程序制作等業(yè)務(wù)。10年已為旅順口眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進行中。

如果你只是簡單的想要獲取命令行參數(shù),可以像下面的代碼示例一樣使用os.Args來獲取命令行參數(shù)。

將上面的代碼執(zhí)行g(shù)o build -o "args_demo"編譯之后,執(zhí)行:

os.Args是一個存儲命令行參數(shù)的字符串切片,它的第一個元素是執(zhí)行文件的名稱。

本文介紹了flag包的常用函數(shù)和基本用法,更詳細的內(nèi)容請查看官方文檔。

flag包支持的命令行參數(shù)類型有bool、int、int64、uint、uint64、float float64、string、duration。

有以下兩種常用的定義命令行flag參數(shù)的方法。

基本格式如下:

flag.Type(flag名, 默認值, 幫助信息)*Type 例如我們要定義姓名、年齡、婚否三個命令行參數(shù),我們可以按如下方式定義:

需要注意的是,此時name、age、married、delay均為對應(yīng)類型的指針。

基本格式如下: flag.TypeVar(Type指針, flag名, 默認值, 幫助信息) 例如我們要定義姓名、年齡、婚否三個命令行參數(shù),我們可以按如下方式定義:

通過以上兩種方法定義好命令行flag參數(shù)后,需要通過調(diào)用flag.Parse()來對命令行參數(shù)進行解析。

支持的命令行參數(shù)格式有以下幾種:

其中,布爾類型的參數(shù)必須使用等號的方式指定。

Flag解析在第一個非flag參數(shù)(單個”-“不是flag參數(shù))之前停止,或者在終止符”–“之后停止。

定義

使用

命令行參數(shù)使用提示:

$ ./flag_demo -help

Usage of ./flag_demo:

-age int

年齡 (default 18)

-d duration

時間間隔

-married

婚否

-name string

姓名 (default "張三")

正常使用命令行flag參數(shù):

使用非flag命令行參數(shù):

原文鏈接:

Golang 的靜態(tài)編譯

Go 語言和 C 語言的一個很大的區(qū)別是, Go 語言只靜態(tài)編譯,做個測試:

一方面是 Go 語言編譯后的可執(zhí)行文件大小比 C 語言的大很多,

另一方面是 C 語言的可執(zhí)行文件需要依賴 glibc 動態(tài)庫,

用 ldd 命令可以看出來:

或者直接刪除 glibc 動態(tài)庫, C 可執(zhí)行程序報錯,而 Go 的還能運行:

這時候只有內(nèi)部命令可以運行,外部命令,包括 ln 甚至最常用的 ls 命令也不能運行了:

設(shè)置好 LD_PRELOAD 環(huán)境變量之后, ln 命令可以運行,但是 sudo 仍然不能運行

只能靠 root 用戶來重新創(chuàng)建軟連接了:

所以用 sudo 來 rm 文件要小心,還是用 root 比較好。如果沒有預(yù)先留一個打開的 root 終端,登錄都登不進去。

golang調(diào)用外部命令,并且通過stdin傳數(shù)據(jù)

golang調(diào)用外部命令,并且通過stdin傳數(shù)據(jù)的例子

使用場景:

當我們需要調(diào)用一個外部命令,然后給外部命令傳參數(shù),常用方便的做法是通過命令行傳參數(shù),但是有些時候數(shù)據(jù)太長,或者基于安全考慮,比如傳密碼,等不方便使用參數(shù)時,我們可以通過stdin傳遞。

下面一個docker login傳遞密碼的例子:

當然這都需要外部命令本身支持從stdin讀入數(shù)據(jù)哈。

go語言調(diào)試器有哪些官網(wǎng)

可以去DELVE官網(wǎng)進行下載。

關(guān)于delve工具的介紹,這里簡單給大家介紹一下。

delve在go項目及應(yīng)用的開發(fā)中可以用來追蹤程序中的異常代碼,也可以通過打日志的方式追查問題,但是更重要也是非常厲害的一點,就是delve可以直接分析程序執(zhí)行的情況。這一點在后期或線上的問題排查中無疑是提供了一個非常大的便捷。

Go(又稱?Golang)是?Google?的 Robert Griesemer,Rob Pike 及 Ken Thompson 開發(fā)的一種靜態(tài)強類型、編譯型語言。

Go 語言語法與?C?相近,但功能上有:內(nèi)存安全,GC(垃圾回收),結(jié)構(gòu)形態(tài)及 CSP-style?并發(fā)計算。

Go的語法接近C語言,但對于變量的聲明有所不同。Go支持垃圾回收功能。Go的并行模型是以東尼·霍爾的通信順序進程(CSP)為基礎(chǔ)。

采取類似模型的其他語言包括Occam和Limbo,但它也具有Pi運算的特征,比如通道傳輸。在1.8版本中開放插件(Plugin)的支持,這意味著現(xiàn)在能從Go中動態(tài)加載部分函數(shù)。

Delve常用命令

命令功能:

dlv attach后面跟 pid,用來Debug編譯好的Golang程序。

dlv core用于 coredump。

dlv debug后面跟要調(diào)試的 go 文件,進入 Debug。

dlv testDebug test 函數(shù)。

測試開發(fā)之系統(tǒng)篇-按需創(chuàng)建測試虛擬機

首先,我們來了解一下KVM虛擬機有關(guān)的幾個概念和工具。

新建KVM虛擬機時,可以指定另一磁盤文件作為 BackingFile 。BackingFile是一個 只讀 的虛擬磁盤基礎(chǔ)映像,可以在多個虛擬機間進行共享。基于BackingFile創(chuàng)建和運行虛擬機時,只會在自己的磁盤文件中增量地寫入文件,從而提高效率、節(jié)省磁盤和維護成本。

虛擬機快照 保存了虛擬機在某個指定時間點的狀態(tài),當我們在自動化測試過程中遭遇問題或錯誤時,可以利用快照保存、并恢復(fù)到執(zhí)行中的某個時間點。借助BackingFile機制,虛擬機支持形如以下的多層依賴的快照鏈。

可使用以下命令,將處于快照鏈中的某個虛機,導(dǎo)出形成一個獨立的磁盤映像文件,其不再依賴其它映像。

假設(shè)我們在用戶的工作目錄中,建立了以下目錄。

下面用一個例子,給大家介紹下快速創(chuàng)建測試虛擬機的方法。

(1)按照上一篇文章中的步驟,創(chuàng)建一個Win10虛擬機;

(2)在虛擬機中,安裝好工作中用到的測試軟件;

(3)使用以下命令,新建一個共享工具磁盤;

(4)掛載共享磁盤到虛擬機,復(fù)制工具和文件到該盤中;

(5)移除該虛擬機,確認對話框中,請選擇不刪除相關(guān)磁盤文件;

(6)移動原虛機主磁盤文件到基礎(chǔ)鏡像目錄,如

kvm/base/windows/win10/x64-pro-zh_cn.qcow2。

(7)執(zhí)行以下命令,以上述基礎(chǔ)鏡像作為BackingFile,創(chuàng)建新的虛擬機磁盤;

(8)圖形界面中,新建測試虛擬機,掛在新建的虛擬機和共享磁盤。

除了使用圖形界面的qemu-manager軟件,這里也提供一種命令行的方法,大家可用于測試平臺的代碼中。

(9)導(dǎo)出虛擬機XML配置文件

(10)修改XML配置文件中的以下字段:nameuuidvcpumemory和currentMemorymac address第1塊disk的source file

(11)在第1塊disk的Elemnt中,加入以下BackingFile有關(guān)的內(nèi)容:

(12)如需要用頁面VNC訪問虛擬機桌面,找到XML的graphics元素,修改成以下內(nèi)容。

(13)使用以下命令定義虛擬機。

(14)使用以下命令啟動虛擬機。

(15)使用以下命令獲取虛擬機的VNC端口編號,在VNC軟件中使用”5900+該數(shù)字“的端口,訪問虛擬機遠程桌面。

另外,本人使用GO語言實現(xiàn)了基于libvirt接口的虛擬機管理有關(guān)功能,此開源項目旨在為大家提供一個基于KVM虛擬機和Docker容器的、按需測試環(huán)境管理平臺,詳情請參照GitHub上的easysoft/zagent項目。

常用命令:

go語言web框架beego安裝(go mod方式)

go語言web框架beego安裝(go mod方式)_不忘初心,方得始終-CSDN博客

重要:將bee命令放到GOROOT/bin目錄下,這步很關(guān)鍵

cp bee /usr/local/go/bin/

注:或者可以將GOPATH/bin設(shè)置為環(huán)境變量

echo ’export PATH=" PATH"' ~/.bashrc

source ~/.bashrc

router路由下方法名要大寫,訪問權(quán)限

wq保存

生效環(huán)境變量: source /etc/profile

go build -o abc.exe可指定編譯后的文件名

Golang常用環(huán)境變量說明與設(shè)置詳解

環(huán)境變量GOBIN表示我們開發(fā)程序編譯后二進制命令的安裝目錄。

當我們使用go install命令編譯和打包應(yīng)用程序時,該命令會將編譯后二進制程序打包GOBIN目錄,一般我們將GOBIN設(shè)置為GOPATH/bin目錄。

export GOBIN=$GOPATH/bin

Go get包管理mod

windows下默認項目路徑在go安裝目錄的src下(beego)

名稱欄目:go語言學(xué)習(xí)常用命令 go 語言 教程
網(wǎng)站路徑:http://chinadenli.net/article0/hpjjio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司搜索引擎優(yōu)化動態(tài)網(wǎng)站定制開發(fā)微信公眾號網(wǎng)站設(shè)計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護公司