# fmt.Warnf
> 从模板记录一条 WARNING 日志。
- 官方英文原文：https://gohugo.io/functions/fmt/warnf/
- 本页规范地址：https://hugozh.cn/functions/fmt/warnf/
- 最近更新：2026-10-02
- 最后提交：912b1d3 chore(site): 添加 static/CNAME（hugozh.cn），供 GitHub Pages 等平台绑定自定义域名
- 签名：fmt.Warnf FORMAT [INPUT]
- 返回类型：string
- 站点：Hugo 中文文档（https://hugozh.cn/）· 社区维护的非官方中文翻译，如有出入以官方英文原文为准

---
Go 的 [`fmt`][] 包的文档描述了格式字符串的结构与内容。

[`fmt`]: https://pkg.go.dev/fmt

`warnf` 函数对格式字符串求值，然后把结果输出到 WARNING 日志。Hugo 对每条唯一消息只输出一次，以免日志被重复警告淹没。

```go-html-template
{{ warnf "The %q shortcode was unable to find %s. See %s" .Name $file .Position }}
```

用 [`warnidf`][] 函数可以按需抑制特定的警告。

用 `warnf` 调试时，如果不想让重复消息被抑制，可以用 [`math.Counter`][] 函数让每条消息唯一。例如：

```go-html-template
{{ range site.RegularPages }}
  {{ .Section | warnf "%#[2]v [%[1]d]" math.Counter }}
{{ end }}
```

[`math.Counter`]: /functions/math/counter/
[`warnidf`]: /functions/fmt/warnidf/

