为了账号安全,请及时绑定邮箱和手机立即绑定

golang中多个字符串字段的Sscanf

golang中多个字符串字段的Sscanf

Go
白板的微信 2021-11-01 16:30:49
我正在尝试使用 sscanf 来解析多个字符串字段。这是一个示例代码片段:package mainimport "fmt"func main() {        var name, currency string    _, err := fmt.Sscanf("transaction benson: dollars", "transaction %s: %s", &name, &currency)    fmt.Println(err, name, currency)}输出是input does not match format benson: Program exited.
查看完整描述

1 回答

?
MMTTMM

TA贡献1869条经验 获得超4个赞

%s贪婪并吞噬到下一个空间,这意味着它会吃掉冒号。处理完之后%s,它会尝试扫描冒号,但是等等,它已经被消耗掉了,下一个字符实际上是一个空格,而不是一个冒号!所以它失败了。

在 C 中,您可以通过使用%[^:]而不是来解决这个问题%s,但 Go 似乎不支持这一点。您可能需要找到某种方法来解析不带Sscanf.


查看完整回答
反对 回复 2021-11-01
  • 1 回答
  • 0 关注
  • 282 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信