您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Go語言中如何使用帶參數的main函數,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
下面我們來寫一個main函數,里面os.Args是一個[]string類型,在運行main函數的時候,命令行中的參數會被寫入到os.Args數據中。
不過這樣的參數不能夠指定是什么類型,也不可以指定tag是什么,例如:-t, -h 等等。
1.直接將os.Args放到main函數中
output1:
$ ./args1
output2:
$ ./args1 -y -t -o 0000000
備注:通過輸出的結果能夠發現os.Args中,也會將執行的命令./args1放到os.Args[0]中。
2.對于os.Args實現在argsfunc()中
os.Args不只可以在main函數中使用,同時也可以在其他函數中使用,如此看來,os.Args更像是一個全局變量,它應該是在main之前的時候,就將命令行中的參數寫到os.Args里面去了。
output:
$ ./args 0 0 0 1 20 30
備注:通過輸出可以看出,在main函數中實現的參數和argsfunc函數中實現的os.Args并無差別。
flag包對參數的支持更加的強大,不單單能夠指定參數的tag(例如:-h, -t等),還可以指定每個參數的類型。
在使用flag的時候,首先,聲明參數對應的類型和格式;其次,使用參數之前需要調用flag.Parse(),這一步的操作應該就是將命令行中的參數列表,解析到自己生命的參數格式里面。
output 1: // 只是執行可執行文件
$ ./args2
$ ./args2 -b -s hello -t 10 the other args
備注:通過輸出結果可以看出flag.Parse()解析之后,并不會把./args做為第一個參數,就像是從os.Args[1:]開始讀取的數據,并沒有讀os.Args[0]的數據。
關于Go語言中如何使用帶參數的main函數就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。