You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Go text/template如何将布尔值转换为0/1整数?

在Go的text/template中将布尔值转换为整数的方法

方法一:使用内置条件判断(无需额外依赖)

直接通过模板的if/else结构判断布尔值,输出对应的整数:

{{if .}}1{{else}}0{{end}}

用goproc工具测试的示例:

$ echo false | goproc -e '{{.}} => {{if .}}1{{else}}0{{end}}'
false => 0
$ echo true | goproc -e '{{.}} => {{if .}}1{{else}}0{{end}}'
true => 1

方法二:注册自定义函数(Go代码中使用模板时)

如果是在自己的Go项目里使用text/template,可以注册一个自定义转换函数,让模板调用:

package main

import (
	"os"
	"text/template"
)

func boolToInt(b bool) int {
	return map[bool]int{true: 1, false: 0}[b]
}

func main() {
	// 注册自定义函数
	funcMap := template.FuncMap{
		"boolToInt": boolToInt,
	}

	tmpl := template.Must(template.New("").Funcs(funcMap).Parse("{{.}} => {{boolToInt .}}"))

	// 测试false值
	_ = tmpl.Execute(os.Stdout, false)
	println()
	// 测试true值
	_ = tmpl.Execute(os.Stdout, true)
}

运行这段代码会输出:

false => 0
true => 1

内容的提问来源于stack exchange,提问作者dolmen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 03:31:05