如何在Mojo中实现字符串插值(格式化)?
Mojo字符串格式化方案(无需手动拼接)
目前Mojo暂不支持Python风格的str.format()、f-strings或%占位符,但有两种无需手动拼接字符串的替代方案:
1. 使用标准库的std.fmt.format函数
这是Mojo官方提供的格式化工具,通过导入std.fmt模块调用,使用{}作为占位符,按顺序传入对应参数即可:
from std.fmt import format let username = "Charlie" let score = 95 let formatted_str = format("User {} achieved a score of {}%", username, score) print(formatted_str) # 输出: User Charlie achieved a score of 95%
2. 使用StringBuilder构建复杂字符串
如果需要高效构建多段内容拼接的字符串,推荐使用std.string.StringBuilder,它避免了多次字符串拷贝的性能损耗:
from std.string import StringBuilder let builder = StringBuilder() builder.write("Order ID: ") builder.write(1001) builder.write("\nCustomer: ") builder.write("Diana") builder.write("\nTotal: $") builder.write(49.99) let order_summary = builder.build() print(order_summary) # 输出: # Order ID: 1001 # Customer: Diana # Total: $49.99
注意:Mojo仍在快速迭代,Python风格的字符串格式化功能已被列入官方 roadmap,后续版本大概率会支持。
内容的提问来源于stack exchange,提问作者alec_djinn
相关产品推荐
相关产品推荐

