我的编程空间,编程开发者的网络收藏夹
学习永远不晚

使用Golang快速构建出命令行应用程序

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

使用Golang快速构建出命令行应用程序

在日常开发中,大家对命令行工具(CLI)想必特别熟悉了,如果说你不知道命令工具,那你可能是个假开发。每天都会使用大量的命令行工具,例如最常用的Git、Go、Docker等。

不管是做技术开发还是业务开发,都会有开发命令行程序的场景。例如如果是开发框架,会开发一个命令行工具帮助使用者快速生成项目结构;如果是开发一个定时任务程序,会开发一个命令行工具来启动这个任务。本文就介绍两个专门用来开发命令行应用程序的库。

urfave/cli

urfave/cli是一个简单、快速、有趣的包,专门用于构建命令行应用程序。其目标是使开发人员能够以一种富有表现力的方式编写快速且可分发的命令行应用程序。看一个简单的例子:

package main
 
import (
	"fmt"
	"log"
	"os"
 
	"github.com/urfave/cli/v2"
)
 
funcmain() {
	app := &cli.App{
		Name:  "blog",
		Usage: "显示路多辛blog欢迎语",
		Action: func(*cli.Context)error {
			fmt.Println("欢迎来到路多辛的blog,能帮助到大家是我最大的快乐!")
			returnnil
		},
	}
 
	if err := app.Run(os.Args); err != nil {
		log.Fatal(err)
	}
}

编译后,执行一下查看帮助命令看下效果

$ ./main -h 
NAME:
   blog - 显示路多辛blog欢迎语
 
USAGE:
   blog [global options] command [command options] [arguments...]
 
COMMANDS:
   help, h  Shows a list of commands or helpfor one command
 
GLOBAL OPTIONS:
   --help, -h  show help

执行下blog命令看下效果

$ ./main blog
欢迎来到路多辛的blog,能帮助到大家是我最大的快乐!

更多使用方法可以参考官方文档 https://cli.urfave.org/。

spf13/cobra

这个库是Go语言负责人主要参与开发的,很多知名项目的命令行工具都是使用这个库开发的,例如Kubernetes、Istio、Docker、Etcd、GitHubCLI等等。看一个简单的例子:

package main
 
import (
	"fmt"
	"os"
 
	"github.com/spf13/cobra"
)
 
funcmain() {
	Execute()
}
 
funcExecute() {
	var rootCmd = &cobra.Command{
		Use:   "blog",
		Short: "显示路多辛blog欢迎语",
		Long:  "显示路多辛blog欢迎语,介绍blog的整体情况",
		Run: func(cmd *cobra.Command, args []string) {
			fmt.Println("欢迎来到路多辛的blog,能帮助到大家是我最大的快乐!")
		},
	}
	if err := rootCmd.Execute(); err != nil {
		fmt.Fprintln(os.Stderr, err)
		os.Exit(1)
	}
}

编译后,执行一下查看帮助命令看下效果:

$./main -h       显示路多辛blog欢迎语,介绍blog的整体情况Usage:blog[flags]Flags:-h,--help   help for blog

执行下blog命令看下效果:

$ ./main blog
欢迎来到路多辛的blog,能帮助到大家是我最大的快乐!

更多使用方法可以参考官方文档

https://github.com/spf13/cobra/blob/main/user_guide.md。

到此这篇关于使用Golang快速构建出命令行应用程序的文章就介绍到这了,更多相关Golang命令行应用程序内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

使用Golang快速构建出命令行应用程序

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

使用Golang快速构建出命令行应用程序

在日常开发中,大家对命令行工具(CLI)想必特别熟悉了,如果说你不知道命令工具,那你可能是个假开发。每天都会使用大量的命令行工具,例如最常用的Git、Go、Docker等,这篇文章主要介绍了使用Golang快速构建出命令行应用程序,需要的朋友可以参考下
2023-02-24

如何使用Golang快速构建出命令行应用程序

这篇文章主要介绍了如何使用Golang快速构建出命令行应用程序的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何使用Golang快速构建出命令行应用程序文章都会有所收获,下面我们一起来看看吧。urfave/cl
2023-07-05

带你使用Golang快速构建出命令行应用程序

本文就介绍两个专门用来开发命令行应用程序的库。

Python怎么快速构建命令行用户界面

这篇文章主要介绍“Python怎么快速构建命令行用户界面”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python怎么快速构建命令行用户界面”文章能帮助大家解决问题。Python Prompt To
2023-06-27

使用 Golang Fiber 快速创建高性能的Web应用程序

Golang Fiber提供了一个快速、简单且有效的方式来构建Web应用程序,它抽象了很多底层细节,允许开发者以极简的方法构建应用,同时保持了高性能。Fiber被设计成易于上手,其API直观易用,这使得迁移现有的Node.js(Expres

SpringBoot快速构建应用程序方法介绍

首先介绍一下SpringBoot在Coding上的使用场景。Coding中使用SpringBoot搭建的Email服务。之所以选择SpringBoot,原因就是更加轻量级。在往常的Spring项目中,依赖的库太多,配置太繁杂,用在这只提供E
2023-05-30

使用Golang函数构建响应式Web应用程序

答案: 可以使用 golang 函数构建响应式 web 应用程序,提供动态内容和交互式界面。详细描述:创建 go 函数,定义一个 http 处理程序来响应请求。运行应用程序以启动 http 服务器。添加响应式内容,使用 html/templ
使用Golang函数构建响应式Web应用程序
2024-05-02

C#怎么通过System.CommandLine快速生成支持命令行的应用程序

这篇文章主要介绍了C#怎么通过System.CommandLine快速生成支持命令行的应用程序的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C#怎么通过System.CommandLine快速生成支持命令行的应
2023-07-02

使用AppSmith(PagePlug )低代码平台快速构建小程序应用实践

文章目录 一、入门(一)介绍(二)功能特性(三)体验一下(四)参考教程 二、使用Appsmith构建商城微信小程序(一)说明(二)应用配置(1)开始(2)tabBar导航栏配置 (三)功能开发1.商品数量统计2.页面导航3
2023-08-30

使用 Golang 构建基于浏览器的应用程序

使用 golang 构建基于浏览器的应用程序golang 结合 javascript 构建了动态的前端体验。安装 golang:访问 https://golang.org/doc/install。设置 golang 项目:创建一个名为 ma
使用 Golang 构建基于浏览器的应用程序
2024-04-08

使用适用于 Windows 的 fyne 包构建 golang 应用程序

php小编小新在这篇文章中为大家介绍如何使用适用于 Windows 的 fyne 包构建 golang 应用程序。Fyne 是一个用于构建原生应用程序的易于使用的跨平台 GUI 工具包。它提供了简单的 API 和丰富的组件,使开发人员能够快
使用适用于 Windows 的 fyne 包构建 golang 应用程序
2024-02-12

Java Spring Boot Security实战:快速构建安全应用程序

Java Spring Boot Security是构建安全应用程序的强大工具。它提供了丰富的功能,如身份验证、授权、密码加密等,帮助开发人员快速、轻松地保护应用程序。本文将通过一个示例应用程序,演示如何使用Spring Boot Security来保护应用程序。
Java Spring Boot Security实战:快速构建安全应用程序
2024-02-02

用 Python 内置库创建一个命令行应用程序

Python 有一个叫做 argparse 的内置库,可以用它来创建一个命令行界面。在这篇文章中,你将了解到以下内容。

使用click创建完美的Python命令行程序

Click库是一个非常高效的命令行工具,能够帮助我们快速创建完美的命令行接口,小编认为这是每个Python程序员都应该掌握的工具。

使用Golang构建强大而高效的桌面应用程序

使用 go 构建桌面应用程序:使用 syscall/js 包创建用户界面,包括输入元素和事件监听器。提取用户输入并将其转换为数字。执行指定的运算(加、减、乘或除)。使用 syscall/js 包将结果显示给用户,并将其添加到 dom 中。构
使用Golang构建强大而高效的桌面应用程序
2024-04-08

如何用Python内置库创建一个命令行应用程序

这篇文章主要介绍“如何用Python内置库创建一个命令行应用程序”,在日常操作中,相信很多人在如何用Python内置库创建一个命令行应用程序问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何用Python内置
2023-07-06

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录