如何将token.Position.String()
返回的表单/pathto/file.go:40:32
的位置编码为ParseQueryPos
posFlag
所需的/pathto/file.go:#550
个参数,其{{1}}看起来像{{1}}。
为什么?
我使用Oracle
工具进行静态分析。我需要运行Oracle.Query
,这需要一个*QueryPos
类型的参数。获取*QueryPos
的唯一方法是使用ParseQueryPos
。
答案 0 :(得分:1)
// parsePosFlag parses a string of the form "file:pos" or
// file:start,end" where pos, start, end match #%d and represent byte
// offsets, and returns its components.
如果你真的必须从line:column
字符串进行转换,那么你要查看文件内容并计算通往该行的字节(包括换行符):column。但是,由于您正在使用token.Position
,看起来您可以从token.Position.Offset
获得所需内容。