我们用%d
来表示整数。那么布尔值的格式说明符是什么?
fmt.Scanf
必须处理传递给它的任何字符串。 它可以正确读取值 true
和 false
,这是它的主要目的。 当它在输入中既没有看到 true
也没有看到 false
时,它采用另一种方式:仅获取第一个字符并返回 true
(如果为 't')或 false
(如果为不-'t')。 请注意,其他选项仍然可用于扫描输入的其余部分。 例如,请尝试使用 此类 代码,并检查不同输入的结果。 - ffriend%t
是你的答案。
package main
import "fmt"
func main() {
s := true
fmt.Printf("%t", s)
}
%t
将布尔值格式化为true
或false
。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")
}
strconv.FormatBool(b)
会快得多,但它的含义与原文相同。 - maerics