Go-24 golang命令行初始
package main
import (
"flag"
"fmt"
"os"
)
// golang命令行初识;可以后面多多了解一下强大的命令行工具cobra
// cobra 工具推荐了解的地址:https://blog.csdn.net/qq_42883074/article/details/123259512
// cobra 工具编写命令行案例:https://blog.csdn.net/qq_42883074/article/details/123276338
func main() {
// 定义几个变量,用于接收命令行的参数值
var user string
var pwd string
var host string
var port int
var creater string
//设置我们的命令行参数
flag.StringVar(&user, "u", "", "用户名,默认为空")
flag.StringVar(&pwd, "p", "", "密码,默认为空")
flag.StringVar(&host, "h", "localhost", "主机名,默认为localhost")
flag.IntVar(&port, "port", 3306, "端口号默认为3306")
flag.StringVar(&creater, "c", "", "创造者,默认为空")
flag.Parse() //注册flag
//从os.Args[1:]中解析注册的flag。
//必须在所有flag都注册好而未访问其值时执行
//未注册却使用flag -help时,会返回ErrHelp。
fmt.Printf("user=%v pwd=%v host=%v port=%v creater=%v \n", user, pwd, host, port, creater)
// os包中有一个Args,是一个string类型的切片,用来存储所有的命令行参数。
fmt.Println("命令行的参数有:", len(os.Args), "个 !!!")
// 变量os.Args切片,会将所有命令行参数存储到os.Args切片中,然后我们通过for-range去遍历切片打印出传入的参数
for i, v := range os.Args {
fmt.Printf("args[%v]=%v \n", i, v)
}
/*
可以使用命令 go run .\27.go -u root -p 123456 -h 127.0.0.1 -port 3306 -c luzhaoshan 运行该文件
*/
}
标签:
Go基础
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现