MST

星途 面试题库

面试题:Go中flag包命令的基础实现

请简述如何在Go语言中使用flag包实现一个简单的命令行工具,该工具接受一个字符串类型的参数和一个布尔类型的参数,并在终端打印出这些参数的值。要求写出关键代码片段。
44.7万 热度难度
编程语言Go

知识考点

AI 面试

面试题答案

一键面试
package main

import (
    "flag"
    "fmt"
)

func main() {
    var strParam string
    var boolParam bool

    flag.StringVar(&strParam, "s", "", "a string parameter")
    flag.BoolVar(&boolParam, "b", false, "a boolean parameter")

    flag.Parse()

    fmt.Printf("String parameter value: %s\n", strParam)
    fmt.Printf("Boolean parameter value: %v\n", boolParam)
}
  1. 定义变量
    • 定义一个字符串类型变量 strParam 和一个布尔类型变量 boolParam 用于存储命令行参数值。
  2. 绑定参数
    • 使用 flag.StringVar 函数将命令行参数 -s 绑定到 strParam 变量,默认值为空字符串,并且提供参数说明。
    • 使用 flag.BoolVar 函数将命令行参数 -b 绑定到 boolParam 变量,默认值为 false,并提供参数说明。
  3. 解析参数
    • 调用 flag.Parse() 函数来解析命令行参数。
  4. 打印参数值
    • 使用 fmt.Printf 函数打印出字符串参数和布尔参数的值。