条件判断语句

获取命令行参数

Go的标准库还提供了 flag 包,用于更方便地解析命令行标志和选项。通过定义标志以及它们对应的类型,可以处理具有特定格式的参数,比如 -key value 这样的键值对。并且可以通过 flag.Args() 来获取那些未被识别为标志的剩余参数。

注意,使用 flag 包需要调用 flag.Parse() 函数来触发标志的解析过程。同时,可以指定默认值(如上例中的空字符串)并在标志没有被提供时使用。

 1package main
 2
 3import (
 4    "flag"
 5    "fmt"
 6)
 7
 8func main() {
 9    var user string
10    var password string
11
12    // 定义并解析标志
13    flag.StringVar(&user, "u", "", "username")
14    flag.StringVar(&password, "p", "", "password")
15
16    flag.Parse()
17
18    // 检查标志是否已设置并打印值
19    if user != "" {
20        fmt.Println("Username:", user)
21    }
22    if password != "" {
23        fmt.Println("Password:", password)
24    }
25
26    // 获取非标志参数
27    remainingArgs := flag.Args()
28    fmt.Println("Non-flag arguments:", remainingArgs)
29}
 1package main
 2
 3import (
 4	"flag"
 5	"fmt"
 6)
 7
 8func main() {
 9	var a int
10	var b int
11	flag.IntVar(&a, "x", -1, "请输入x的值")
12	flag.IntVar(&b, "y", -1, "请输入y的值")
13	flag.Parse()
14	fmt.Println(a, b, a+b)
15}
  1. 输入一个数,判断它能被 3 整除,且能被 5 整除。输出“能”或 “不能”
  2. 输入三个整数,判断它们能否构成一个三角形。