首页 > 解决方案 > 用点分隔的插值字符串解析错误?

问题描述

我去打印一个版本号,比如v3.14并得到了这个:

version.v:218:30: error: unexpected `$2`, expecting `name` 
  216 |     ver1 := (x >> 24) & 0xFF
  217 |     ver2 := (x >> 16) & 0xFF
  218 |     println('Version v$ver1.$ver2')
      |                                 ^

解决方案是在 中放置大括号ver1println避免错误的解析。我想我理解它为什么会发生(点使解析器认为它有一个复合名称),但我认为美元符号ver2会阻止这种情况发生。

(是的,问题不大)

标签: vlang

解决方案


你必须这样做。这样它就不会认为ver2自己是ver1.

println('Version v${ver1}.${ver2}')

推荐阅读