有没有办法在 go 中将整数转换为布尔值,反之亦然?

2023-12-27

是否有内置方法将布尔值转换为整数,反之亦然?我尝试过正常的转换,但由于它们使用不同的基础类型,因此不可能以经典的方式进行转换。我翻了一些规范,还没有找到答案。


Int 到 bool 很容易,只需x != 0会成功的。反之,由于 Go 不支持三元运算符,你必须这样做:

var x int
if b {
    x = 1
} else {
    x = 0
}

您当然可以将其放入函数中:

func Btoi(b bool) int {
    if b {
        return 1
    }
    return 0
 }

整数有很多可能的布尔解释,但它们都不一定是自然的,因此必须说出你的意思是有意义的。

根据我的经验(YMMV),如果您编写良好的代码,则不必经常这样做。有时能够编写基于布尔值的数学表达式很有吸引力,但您的维护人员会感谢您避免这样做。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法在 go 中将整数转换为布尔值,反之亦然? 的相关文章

  • 如何分析 VSCode 中函数的性能

    我用 C Golang 编写了一个程序 如何找到占用最高 CPU 周期的函数 目的是提高正在执行的程序的性能 2021 年 10 月 金香儿哈娜 https github com hyangah宣布 tweet https twitter
  • Java 泛型 - 重写抽象方法并具有子类的返回类型

    我正在尝试创建一个设置 其中一组子类覆盖超类 这个超类包含一个抽象方法 理想情况下 其返回类型是调用该方法的对象的返回类型 这样它的有效行为如下 public abstract class SuperClass public abstrac
  • 鸭子在 Go 中打字

    我想写一个Join函数接受任意对象String 方法 package main import fmt strings type myint int func i myint String string return fmt Sprintf
  • 具有继承类型的 Aux 模式推理失败

    我有一个复杂的玩具算法 我希望纯粹在类型级别上表示 根据饮食要求选择当天菜肴的修改 对卷积表示歉意 但我认为我们需要每一层才能达到我想要使用的最终界面 我的代码有一个问题 如果我们表达一个类型约束Aux 模式生成的类型基于另一个泛型类型 它
  • Golang 正则表达式命名组和子匹配

    我正在尝试匹配正则表达式并获取匹配的捕获组名称 当正则表达式仅与字符串匹配一次时 这是有效的 但如果它与字符串匹配多次 SubexpNames不返回重复的名称 这是一个例子 package main import fmt regexp fu
  • 如何在 Go 中将环境变量传递给测试用例

    在为 Go 编写测试用例时 传递需要提供给测试的环境变量的标准方法是什么 例如 我们不想在测试用例的源代码中嵌入密码 处理这个问题最标准的方法是什么 我们让测试用例寻找配置文件吗 还有别的事吗 看来我偶然发现了答案 将其添加到测试用例中可以
  • 这两种方式哪一种是惯用的方式? time.Sleep() 还是自动收报机?

    我必须每分钟执行一些语句 我不确定我应该遵循以下哪一项 如果有人能解释内存和 CPU 方面的优缺点 那就太好了 时间 Sleep func main go func for time Sleep time Minute fmt Printl
  • GoLang ssh:尽管将其设置为 nil,但仍出现“必须指定 HosKeyCallback”错误

    我正在尝试使用 GoLang 连接到远程服务器 在客户端配置中 除了用户和密码之外 我将 HostKeyCallback 设置为 nil 以便它接受每个主机 config ssh ClientConfig User user HostKey
  • 如何使 PyCharm 从函数定义中获取类型提示并在文档字符串中填充类型值?

    我总是在函数定义中使用类型提示 例如 def foo a int b str gt bool pass 当我使用 PyCharm 自动文档字符串生成器在代码中生成文档字符串时 我得到以下信息 def foo a int b str gt b
  • 复杂数据类型作为 Go 中映射的键

    我正在尝试在 Go 中创建一个由大整数作为键的映射 effective Go 明确指出 结构体 数组和切片不能用作映射键 因为这些类型上没有定义相等性 这是有道理的 我当然可以将大整数转换为字符串并使用字符串作为键 但我在这里寻找更通用的解
  • 正确的文件扩展名或缩写是什么。 golang 的文本/模板?

    我正在考虑为其创建语法荧光笔 但我不知道这种特定类型模板的常规缩写 In 例子之一 http golang org pkg text template example Template helpers从文本 模板 godoc 中 它们引用
  • 如何将类型设置为 vue slot props Typescript

    我正在尝试在插槽道具上设置类型以在表格组件中进行处理 如图所示 我也一直在尝试 body item UserItem 但这只是重命名参数 body
  • 如何在golang中解析JSON而不需要解组两次

    我有一个 Web 套接字连接 它在 JSON 对象中发送不同类型的消息 并且我想将内容解组到一些已知的结构中 为此 我认为我应该执行以下操作 步骤 1 将 JSON 解组为通用映射 字符串 接口 步骤 2 找到我要找的钥匙 步骤 3 尝试将
  • Python 中的舍入浮点问题

    我遇到了 np round np around 的问题 它没有正确舍入 我无法包含代码 因为当我手动设置值 而不是使用我的数据 时 返回有效 但这是输出 In 177 a Out 177 0 0099999998 In 178 np rou
  • 为什么 json.Unmarshal 返回映射而不是预期的结构?

    看看这个游乐场 http play golang org p dWku6SPqj5 http play golang org p dWku6SPqj5 基本上 我正在工作的图书馆收到了interface 作为参数 然后需要json Unma
  • 直接从一个通道发送到另一个通道

    当从一个通道直接发送到另一个通道时 我偶然发现了令人惊讶的行为 package main import fmt func main my chan make chan string chan of chans make chan chan
  • 过滤器的 Scala 集合类型

    假设您有一个 List 1 1 其类型为 List Any 这当然是正确的且符合预期 现在如果我像这样映射列表 scala gt List 1 1 map case x Int gt x case y String gt y toInt 结
  • os.Mkdir 和 os.MkdirAll 权限

    我正在尝试在程序开始时创建一个日志文件 我需要检查是否 log如果不创建目录 则目录存在 然后继续创建日志文件 好吧 我尝试使用os Mkdir 也os MkdirAll 但无论我在第二个参数中输入什么值 我都会得到一个没有权限的锁定文件夹
  • 如何仅在测试时允许一个包访问另一个包的未导出数据?

    In Go 编程语言 第 11 2 4 节 有一个外部测试访问的示例fmt isSpace 通过声明IsSpace in fmt s export test go文件 这似乎是完美的解决方案 所以这就是我所做的 a a go package
  • GetType() 在 Type 实例上返回什么?

    我在一些调试过程中遇到了这段代码 private bool HasBaseType Type type out Type baseType Type originalType type GetType baseType GetBaseTyp

随机推荐

  • 未找到 JNI_Onload() 且 VM 关闭

    我是安卓新手 我按照链接上的说明进行操作http marakana com forums android examples 49 html http marakana com forums android examples 49 html使
  • 如何使用另一个 XML 文件中的属性值作为当前 XML 中的元素值选择

    我有两个 XML 文件 一个是主 XML 文件 另一个用作查找表 这是主要的 XML
  • Kubernetes 中 subPath 和 mountPath 有什么区别

    我正在尝试将volumeMounts 中的文件添加到 dockerignore 并尝试了解subPath 和mountPath 之间的区别 阅读官方文档对我来说并不清楚 我应该从我读到的内容中添加 mountPath 是 pod 中将挂载卷
  • 如何使用 Jackson 解析不合格的 JSON 数组?

    因此 我正在访问第三方 API 它为我提供了这个 JSON 对象 但我花了很长时间试图找到一种使用 Jackson 解析资源子对象的优雅方法 我假设我必须编写一个自定义反序列化器 尽管我想知道是否还有其他方法 somekey someval
  • XSLT 节点值比较

    如何将 IP 地址与家庭和姓名参考进行比较 使用 XSLT 文件 在详细信息中 我有一个 xml 文件 其中包含操作员站节点列表 每个操作员站都有其唯一的信息 因此 通过将第一个操作员站节点视为主站 比较所有剩余的从属操作员站信息 首先需要
  • HTTP 持久连接

    尝试使用 Linux 套接字接口用 C 语言实现一个简单的 HTTP 服务器时 我在我希望它具有的某个功能 即持久连接 方面遇到了一些困难 使用单独的 TCP 连接一次发送一个文件相对容易 但这似乎不是非常有效的解决方案 例如考虑多次握手
  • 字符串常量池中的 new String("") 会发生什么

    如果我创建一个字符串对象 String s new String Stackoverflow 将只在堆中创建 String 对象 或者也在 String 常量池中创建一个副本 提前致谢 如果调用 则只能将字符串放入常量池中intern或使用
  • 为什么 Moq 不运行重写的 ToString 方法?

    在下面的代码中为什么mockTest ToString 返回Null 编辑 在示例代码中添加注释以显示如何解决问题 Public Sub Main Try Dim test New TestClass If test ToString lt
  • 如何给Python程序添加暂停模式

    我已经开发了一个 Python 代码 正在寻找改进以及如何添加暂停选项 尽管我不知道更简单的方法 但我还是一遍又一遍地重复完全相同的行 import math pygame random sys turtle from itertools
  • mapView 已弃用方法 getZoomControls?

    我正在尝试让默认缩放控件显示在谷歌地图视图上 我在看this http mobiforge com developing story using google maps android代码 但 getZoomControls 已被弃用 我尝
  • WinRT 投影类型文档

    有一种东西叫做预测类型在 WinRT 中 例如 在元数据中 IXamlType UnderlyingType定义为 TypeName UnderlyingType get 然而 当在 C 应用程序中使用时 它会发生如下变化 Type Und
  • 自定义 Flask 管理行操作

    我想在烧瓶管理列表视图上的编辑和删除图标旁边添加另一个按钮 此外 我想将该行数据作为发布请求发送到路线 我知道我必须编辑admin model list html模板 但我不知道如何添加此功能 你能提供任何指导吗 您需要为您的视图定义自定义
  • 如何使用 Typesafe Activator UI 在开发模式下运行 play 项目

    我正在使用 Typesafe Activator 1 2 10 我使用模板 play scala 中的 activator ui 创建了一个新项目 当我单击开始时 游戏正在产品模式下运行 我想在开发模式下运行它 如何使用 activator
  • 将单元格位置字符串解析为行和列

    i have string col AB21 这是 Excel 单元格位置 我想将其解析为string column AB int row 21 我怎样才能做到这一点 string col AB21 int startIndex col I
  • x86指令编码表

    我正在重写我的汇编程序 同时我也对实现反汇编感到好奇 我想让它变得简单和紧凑 并且在这样做时我可以利用一些概念 可以从操作码确定 x86 指令编码的其余部分 也许也需要前缀字节 我知道很多人都写了表格来做到这一点 我对助记符不感兴趣 而是对
  • 为什么append修改传递的切片

    我如何迭代切片并将切片传递到除当前元素之外的某个位置 似乎append 正如我们在文档中看到的那样 函数修改了底层切片 但无论如何我仍然不知道如何达到这个目标 func main args string 2 3 8 for i range
  • Pandas - Groupby 并创建新的 DataFrame?

    这就是我的情况 In 1 data Out 1 Item Type 0 Orange Edible Fruit 1 Banana Edible Fruit 2 Tomato Edible Vegetable 3 Laptop Non Edi
  • HA gearman 作业服务器的最佳实践是什么

    在 gearman 的主页上 他们提到运行多个作业服务器 因此如果一个作业服务器挂掉 客户端可以选择一个新的作业服务器 根据下面的陈述和图表 作业服务器似乎不相互通信 我们的问题是那些在死亡的作业服务器中排队的作业会发生什么 为这些服务器提
  • 不使用“if”来执行此操作 | if(s == "值1"){...} else if(s == "值2") { ...}

    根据反如果运动 http www antiifcampaign com 最佳实践是不在我们的代码中使用 if 谁能告诉我是否可以去掉这段代码中的 if 开关也不是一个选项 重点是删除条件逻辑 而不是用类似的语言结构替换 if if s fo
  • 有没有办法在 go 中将整数转换为布尔值,反之亦然?

    是否有内置方法将布尔值转换为整数 反之亦然 我尝试过正常的转换 但由于它们使用不同的基础类型 因此不可能以经典的方式进行转换 我翻了一些规范 还没有找到答案 Int 到 bool 很容易 只需x 0会成功的 反之 由于 Go 不支持三元运算