【发布时间】:2021-11-03 03:58:11
【问题描述】:
所以这并不是什么大不了的事,因为我最终得到了我想要的结果,但我想知道是否有人知道为什么当我在 Visual Studio 代码中使用调试器时我的切片会经历来回模式。
这是我所拥有的:
partialKey := code + id + service
state:="CA"
clientId := "test"
var combo = []string{partialKey + clientId + state,
partialKey + clientId + util.Constants.DEFAULT_STATE
partialKey + util.Constants.DEFAULT_ID + state,
partialKey + util.Constants.DEFAULT_ID + util.Constants.DEFAULT_STATE,
}
当我调试代码并单击跳过按钮时,它会从切片的第一行开始执行这种奇怪的模式(var combo =... 所以我将调用该 line1,最后一行将是 line4)。 第1行 线2 第1行 线2 第 3 行 线2 第 3 行 第 4 行 第 3 行 第 4 行
然后我得到了预期的具有正确格式的四项切片,所以这不是一个真正的问题,但我只是好奇这是 Go 的事情还是这是由 Visual Studio 代码调试器引起的,有人可以告诉我为什么一个或另一个这样做?
【问题讨论】:
-
我也观察到了,我的猜测是它会在不同的表达式之间进行切换,以便您可以根据需要进入其中的一些表达式。
-
这可能是由于 Go 编译器中的错误(发出错误或不太直观的行信息)。检查生成了哪些行信息的一种简单方法是从命令行使用 dlv 和
disassemble命令。
标签: go debugging visual-studio-code slice