【问题标题】:How to print boolean value in Go?如何在 Go 中打印布尔值?
【发布时间】:2011-10-26 22:44:16
【问题描述】:

因为我们有 %d 用于 int。布尔值的格式说明符是什么?

【问题讨论】:

标签: boolean go


【解决方案1】:

如果你使用fmt包,你需要%t格式语法。详情请参阅包的reference。

【讨论】:

  • 另请注意,%v 格式将为任何值打印一个合理的默认字符串。
  • 如果我尝试输入一个布尔值;任何从 't' 开始的值为真,任何其他值为假。
  • 包主导入 fmt "fmt" func main(){ var flag bool fmt.Scanf("%t",&flag) fmt.Printf("%t",flag) }
  • @Anuj Verma:扫描输入时,fmt.Scanf 必须以某种方式处理您传递的任何字符串。它可以正确读取值true 和false,这是它的主要目的。当它在输入中既没有看到true 也没有看到false 时,它会采用另一种方式:它只接受第一个字符并返回true,如果它是't',或者false,如果它是其他任何东西, ig不-'不'。请注意,输入的其余部分仍可用于使用其他选项进行扫描。例如,尝试such 代码并使用不同的输入检查结果。
【解决方案2】:

使用%t 将布尔值格式化为true 或false。

【讨论】:

  • 这是一个相同的答案,但缩短了接受的答案,请记住,如果您想回答,您应该检查何时可以添加帖子不包含的内容
【解决方案3】:

“%t”是你的答案。

package main
import "fmt"

func main() {
   s := true
   fmt.Printf("%t", s)
}

【讨论】:

    【解决方案4】:

    其他一些选项:

    package main
    import "strconv"
    
    func main() {
       s := strconv.FormatBool(true)
       println(s == "true")
    }
    
    package main
    import "fmt"
    
    func main() {
       var s string
       // example 1
       s = fmt.Sprint(true)
       println(s == "true")
       // example 2
       s = fmt.Sprintf("%v", true)
       println(s == "true")
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-02
      • 2019-07-31
      • 2011-09-15
      • 1970-01-01
      • 2021-06-27
      • 2017-02-28
      相关资源
      最近更新 更多