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

如何在Erlang中返回格式化字符串?(附Go语言实现示例)

Erlang 实现类似 Go fmt.Sprintf 的字符串格式化

在 Erlang 中,你可以使用 io_lib:format/2 函数来实现和 Go 里 fmt.Sprintf 相同的字符串格式化功能。

基础示例

对应你给出的 Go 代码,Erlang 的实现如下:

% 直接生成格式化后的iolist
Str = io_lib:format("~d is bigger than ~d", [6, 4]),
% 转为扁平字符串列表(类似Go的string类型)
FlatString = lists:flatten(Str),
% 转为二进制字符串(Erlang中更常用的高效格式)
BinaryString = list_to_binary(Str).

格式化占位符说明

Erlang 的格式化占位符和 Go 略有不同,常用的几个:

  • ~d:十进制整数格式化,和 Go 的 %d 完全对应
  • ~p:美化打印 Erlang 术语(类似 Go 的 %v)
  • ~w:无美化的术语打印
  • ~s:字符串/二进制格式化(对应 Go 的 %s)

比如用字符串占位符的示例:

Greeting = io_lib:format("Hello, ~s!", ["Erlang"]),
% 输出结果为 "Hello, Erlang!"

注意点

io_lib:format/2 默认返回的是 iolist(一种由列表、二进制组成的高效字符串结构),如果需要传统的字符串列表,用 lists:flatten/1 处理即可;如果业务中常用二进制,直接用 list_to_binary/1 转换更高效,无需先扁平化。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 07:48:15