golang中往腳本傳遞參數的兩種用法os.Args和flag


1. os.Args

package main

import (
	"fmt"
	"os"
)

func main() {
	// 執行:./demo.exe 127.0.0.1 8000
	// 輸出切片類型:[C:\Users\mayanan\Desktop\pro_go\day01\demo.exe 127.0.0.1 8000]
	fmt.Println(os.Args)

}

  

2. flag

package main

import (
	"flag"
	"fmt"
)

func main() {
	//fmt.Println(os.Args)
	// 如果想支持 ./demo.exe -h 127.0.0.1 -p 8080 則需要使用flag模塊來進行處理
	// 定義方式1
	host := flag.String("h", "127.0.0.1", "主機")
	port := flag.Int("p", 8000, "端口")

	// 定義方式2
	var email string
	flag.StringVar(&email, "e", "myn_net@163.com", "郵箱")

	flag.Parse()
	fmt.Println(*host, *port, email)

	// 構建方法: go build -o demo.exe  -o可以指定構建成的文件名稱
	// 執行方法
	// ./demo.exe -h 192.168.1.1 -p 8888 -e 1341935532@qq.com   輸出:192.168.1.1 8888 1341935532@qq.com
	// ./demo.exe -h=192.168.1.1 -p=8888 -e=1341935532@qq.com
	// 或者使用默認值:直接./demo.exe  輸出默認值:127.0.0.1 8000 myn_net@163.com

}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM