返回顶部
首页 > 资讯 > 后端开发 > GO >GO 标志无法正确解析
  • 603
分享到

GO 标志无法正确解析

2024-04-05 00:04:46 603人浏览 泡泡鱼
摘要

小伙伴们有没有觉得学习golang很有意思?有意思就对了!今天就给大家带来《Go 标志无法正确解析》,以下内容将会涉及到,若是在学习中对其中部分知识点有疑问,或许看了本文就能帮到你!问题内容我现在有

小伙伴们有没有觉得学习golang很有意思?有意思就对了!今天就给大家带来《Go 标志无法正确解析》,以下内容将会涉及到,若是在学习中对其中部分知识点有疑问,或许看了本文就能帮到你!

问题内容

我现在有一个非常基本的 cli 应用程序可以使用 flag 库。它接受两个标志并简单地将值打印到终端

$ ./hello --flag1 v1 --flag2 v2
v1
v2

如果说我不小心设置了 flag2,但忘记提供该值,它预计会显示错误消息

$ ./hello --flag1 v1 --flag2
flag needs an argument: -flag2
usage of ./hello:
  -flag1 string
        usage1 (default "value1")
  -flag2 string
        usage3 (default "value2")

但是如果我设置flag1,不为其提供值,然后设置flag2,则不会出现错误

$ ./hello --flag1 --flag2 v2
--flag2
value2

对我来说,flag1 使用 flag2 的名称作为值似乎很奇怪,更不用说 flag2 甚至没有获得提供的值。我希望结果是一条错误消息,类似于设置 flag2 且未提供值时的错误消息。

这是图书馆的限制吗?或者这是一个错误?

有什么方法可以让它正确解析,还是我必须添加自己的自定义解析逻辑?

重现的最少代码:

package main

import (
    "flag"
    "fmt"
)

func main() {

    flag1 := flag.String("flag1", "value1", "usage1")
    flag2 := flag.String("flag2", "value2", "usage3")

    flag.Parse()

    fmt.Println(*flag1)
    fmt.Println(*flag2)
}


解决方案


如果您希望 flag2 为空字符串,则必须使用 "" 显式设置它。

$ ./hello --flag1 v1 --flag2 ""

对于您的另一个问题,当您指定 flag1 时,后面的所有内容都是字符串值。所以当你使用时听起来并不奇怪

$ ./hello --flag1 --flag2

那么 flag1 的值为“flag2”,因为它与您这样写是相同的:

$ ./hello --flag1="--flag2"

顺便说一句,您不必指定值的标志类型是 bool。只需指定标志为 true 就足够了。

今天关于《GO 标志无法正确解析》的内容介绍就到此结束,如果有什么疑问或者建议,可以在编程网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

您可能感兴趣的文档:

--结束END--

本文标题: GO 标志无法正确解析

本文链接: https://lsjlt.com/news/596413.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • GO 标志无法正确解析
    小伙伴们有没有觉得学习Golang很有意思?有意思就对了!今天就给大家带来《GO 标志无法正确解析》,以下内容将会涉及到,若是在学习中对其中部分知识点有疑问,或许看了本文就能帮到你!问题内容我现在有...
    99+
    2024-04-05
  • Yum Httpd配置问题:PHP无法正确解析
    当我们在配置Yum Httpd时,经常会遇到PHP无法正确解析的问题。这个问题可能会导致网页无法正常显示,影响网站的访问和功能。解决这个问题的关键在于正确配置Httpd和PHP,确保它...
    99+
    2024-04-02
  • Apache2无法正确解析PHP文件的处理方法
    由于篇幅限制,以下是一个简短的文章: Apache2是一种常用的Web服务器软件,而PHP是一种广泛使用的服务器端脚本语言。在搭建网站过程中,有时会遇到Apache2无法正确解析PHP...
    99+
    2024-03-08
    php apache 解析 php解析
  • 无法正确执行 Go 模块替换命令
    有志者,事竟成!如果你在学习Golang,那么本文《无法正确执行 Go 模块替换命令》,就很适合你!文章讲解的知识点主要包括,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~问题...
    99+
    2024-04-04
  • Go - 使用 pgtypes 的正确方法
    php小编西瓜今天为大家介绍一种正确的使用 pgtypes 的方法,这对于使用 Go 语言进行 PostgreSQL 数据库编程的开发者来说非常重要。pgtypes 是一个 Go 语言...
    99+
    2024-02-13
  • Oracle 11g正确删除归档日志方法
    1、用oracle用户登陆rman并连接数据库RMAN>connect target / RMAN>rman target /2、列出并确认归档日志路径RMAN>list arc...
    99+
    2024-04-02
  • Node输出日志的正确方法示例
    目录背景使用 Winston 进行日志记录安装和使用 WinstonWinston 的日志级别Winston 的格式化器Winston 的传输器Winston的实践接入es注意事项背...
    99+
    2023-03-06
    Node输出日志 Node 日志
  • 测试PHP无法正确显示页面
    测试PHP   输出phpinfo: sudo vim /var/www/html/phpinfo.php 写入如下内容: ...
    99+
    2023-10-26
    php 开发语言
  • GO使用Mutex确保并发程序正确性详解
    目录1. 简介2. 基本使用2.1 基本定义2.2 使用方式2.3 使用例子2.3.1 未使用mutex同步代码示例2.3.2 使用mutex解决上述问题3. 使用注意事项3.1 L...
    99+
    2023-03-03
    GO Mutex并发正确性 Mutex确保并发正确性
  • Node输出日志的正确方法是什么
    本篇内容主要讲解“Node输出日志的正确方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Node输出日志的正确方法是什么”吧!背景每个程序员都喜欢在有问题的代码中插入一些日志的方法来帮助...
    99+
    2023-07-05
  • gitstash的正确用法详解
    目录概述git stash 具体用法概述 前段时间突然发现,我之前对git stash的使用都是错误的。 具体说来,我是这么使用的:在远端有新的提交,需要git pull来拉取合并...
    99+
    2023-02-06
    git stash用法 git stash
  • Java BigDecimal正确用法详解
    目录一、背景二、事故案例1、问题2、问题复现3、源码分析4、原因分析三、总结四、工具类一、背景 BigDecimal 平时主要用于计算金钱时,其自身提供了很多的构造方法,但是这些构造...
    99+
    2024-04-02
  • Golang函数无法正确读取文件名
    问题内容 所以,我有一个包含多个 .csv 文件的存储库,它们包含数据库的表架构。我编写了一段 Golang 代码,它从存储库中获取文件名列表,然后打开这些文件,读取内容并创建 MyS...
    99+
    2024-02-06
  • Go 小时转换算法未正确转换
    php小编新一今天要给大家介绍的是Go语言中的一个问题,即“Go 小时转换算法未正确转换”。在Go语言中,时间转换是一个常见的操作,但是在某些情况下,小时转换的结果可能会出现错误。本文...
    99+
    2024-02-14
    go语言
  • 解读查看zookeeper事务日志的正确姿势
    目录查看zookeeper事务日志在Linux中在window中补充知识ZooKeeper日志与快照文件简单分析事务日志文件快照文件总结查看zookeeper事务日志 用vi打开发现...
    99+
    2023-05-14
    查看zookeeper事务日志 zookeeper事务日志 zookeeper日志
  • 应用程序无法正确启动0xc150002
    错误代码0xc150002是Windows 10中应用程序启动失败的常见错误代码之一。该错误可能由多种原因引起,包括以下几...
    99+
    2023-09-27
    应用程序
  • Linux正确密码无法进入系统Login incorrect
    描述 在正常启动中,linux 输入正确的root密码无法进入系统,提示 Login incorrect,但是在单用户模式下,却可以进入系统 解决 在GRUB菜单,按"e" 找到带有"kernel"的...
    99+
    2023-09-03
    linux 运维 服务器
  • 这是 ast 解析的正确行为吗
    本篇文章向大家介绍《这是 ast 解析的正确行为吗》,主要包括,具有一定的参考价值,需要的朋友可以参考一下。问题内容我正在学习如何使用 golang 的 ast 库以及如何工作。我正在解析 http...
    99+
    2024-04-05
  • c语言编译正确但是无法运行怎么解决
    当C语言程序编译成功但无法运行时,通常有以下几个可能的原因和解决方法:1. 程序中存在语法错误:编译器能够检测到语法错误,但是这些错...
    99+
    2023-08-08
    c语言
  • Go并发编程之goroutine使用正确方法
    目录1. 对创建的gorouting负载1.1 不要创建一个你不知道何时退出的 goroutine1.2 不要帮别人做选择1.3 不要作为一个旁观者1.4 不要创建不知道什么时候退出...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作