首页 > 其他分享 >Go-24 golang命令行初始

Go-24 golang命令行初始

时间:2023-01-28 14:13:50浏览次数:45  
标签:24 Args golang var flag 命令行 Go os port

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 运行该文件
	*/

}


标签:24,Args,golang,var,flag,命令行,Go,os,port
From: https://www.cnblogs.com/ludundun/p/17070197.html

相关文章

  • Mongo-Shake安装配置(2)
    下载地址https://github.com/alibaba/MongoShake/releases安装#tar-zxvfmongo-shake-v2.8.2.tgz&&mvmongo-shake-v2.8.2mongoshake&&mvmongoshake//usr/l......
  • minio分布式存储的go语言开发衔接
    minio是分布式存储,可集群部署,阵列磁盘,纠错码等大数据存储必备的技术。由于它是go语言开发的,我们用go来与它衔接:上传文件,比如图片,然后预览。这里涉及几个重要的知识点。一......
  • Google Earth Engine (GEE)——将影像导出Google硬盘中的易犯错误
    很多时候我们需要注意导出的错误信息,这里我们看到首先第一个错误就是我们选择波段的时候并没有按照指定的波段名称来进行,同时,我们不能直接导出影像集合,所以这里在导出的过程......
  • Go 数组详解和实战
    数组是存放元素的容器,Go语言中数组的长度是数组类型的一部分,定义数组时必须指定存放元素的类型和容量(长度)定义vara1[3]boolvara2[4]intfmt.Printf("a1:%T\n......
  • (23)go-micro微服务客户端开发(使用负载均衡)
    目录一main.go开发二客户端代码开发:三客户端测试功能1.发送注册邮件2.实现注册功能3.查询用户功能四运行项目五最后一main.go开发至此,咱们的项目服务端代码,已经开......
  • 2 System Calls Using Go
    Theoperatingsystemprovidesalotofwaysforapplicationstoextractinformationandperformoperations.Youwilllookatthedifferentwaystoextractsys......
  • 如何在 Go 语言开发的宿主程序中嵌入 WebAssembly
    ​​如何在Go语言开发的宿主程序中嵌入WebAssembly​​ 在WebAssembly的官方定义中,​​forastack-basedvirtualmachine​​​这句话也值得关注,因为它引领了......
  • Django3 使用xadmin
    xadmin下载地址:https://github.com/vip68/xadmin_bugfix下载完之后解压,只需要把里面的xadmin文件夹和requirements.txt文件复制到项目根目录下,然后在终端执行pipinstall......
  • PHP转Go实践:xjson解析神器「开源工具集」
    前言近期会更新一系列开源项目的文章,新的一年会和大家做更多的开源项目,也欢迎大家加入进来。xutil今天分享的文章源自于开源项目jinzaigo/xutil的封装。在封装过程中......
  • 刷刷刷 Day 24 | 77. 组合
    77.组合LeetCode题目要求给定两个整数n和k,返回范围[1,n]中所有可能的k个数的组合。你可以按任何顺序返回答案。示例输入:n=4,k=2输出:[[2,4],[......