gpt4 book ai didi

go - 如何获得真正的 boolean 值 "sum"

转载 作者:行者123 更新时间:2023-12-01 22:18:01 24 4
gpt4 key购买 nike

在这种情况下,我有 3 个 boolean 变量(已设置为 truefalse )

这里的目标是确定是否有多个 bool var 设置为 true

现在我写了以下内容,它确实有效:

    boolval := 0
if *firstbool {
boolval++
}
if *secondbool {
boolval++
}
if *thirdbool {
boolval++
}
if boolval > 1 {
// More than 1 of the bool vars are true
}


如果我连续写 if{},我总是标记我的逻辑陈述,所以我想我会问你们天才如何做到这一点。

最佳答案

identify if more than one of the set of bool vars are set to true



比如写一个集合函数:
package main

import "fmt"

func nTrue(b ...bool) int {
n := 0
for _, v := range b {
if v {
n++
}
}
return n
}

func main() {
v1, v2, v3 := true, false, true

fmt.Println(nTrue(v1, v2, v3))

if nTrue(v1, v2, v3) > 1 {
// . . .
}
// Or
if n := nTrue(v1, v2, v3); n > 1 {
// . . .
}
// Or
n := nTrue(v1, v2, v3)
if n > 1 {
// . . .
}
}

游乐场: https://play.golang.org/p/g3WCN6BgGly

输出:
2

例如,在集合上的范围,
package main

import "fmt"

func main() {
v1, v2, v3 := true, false, true

boolval := 0
for _, v := range []bool{v1, v2, v3} {
if v {
boolval++
}
}
if boolval > 1 {
// . . .
}

fmt.Println(boolval > 1, boolval)
}

游乐场: https://play.golang.org/p/R6UGb8YYEFw

输出:
true 2

关于go - 如何获得真正的 boolean 值 "sum",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57983764/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com