0
我想創建一個用於在Golang中使用顯示的外部函數,但我不知道如何調用該標誌變量。這是我的實際代碼:Golang:命令行參數undefined:變量
package main
import (
"flag"
"fmt"
"os"
)
func Usage() {
if ArgSend {
fmt.Printf("Usage: SEND")
flag.PrintDefaults()
os.Exit(0)
} else if ArgTest {
fmt.Printf("Usage: -test")
flag.PrintDefaults()
os.Exit(0)
} else if ArgMacro {
fmt.Printf("Usage: -macro")
os.Exit(0)
} else {
fmt.Printf("Usage of: <-test|-send|-macro>\n")
os.Exit(0)
}
}
func main() {
//defaults variables
ArgTest, ArgSend, ArgMacro := false, false, false
// Args parse
flag.BoolVar(&ArgTest, "-test", false, "run test mode")
flag.BoolVar(&ArgSend, "-send", false, "run send mode")
flag.BoolVar(&ArgMacro, "-macro", false, "run macro mode")
flag.Parse()
Usage()
}
這個錯誤:
F:\dev\GoLang\gitlab\EasySend\tmp>go run stackoverflow.go -test
# command-line-arguments
.\stackoverflow.go:10:5: undefined: ArgSend
.\stackoverflow.go:15:12: undefined: ArgTest
.\stackoverflow.go:20:12: undefined: ArgMacro
如何檢查標誌解析如果ArgSend是真/假?
不要混淆flag.BoolVar和flag.Bool。 – Peter
@彼得感謝您的意見,我已經更新了答案,希望能夠澄清一點 – WebweaverD