Golang 调试显示一个我没有在我的代码中定义的 ~r2 变量
Golang debug shows a ~r2 variable which I haven't defined in my code
我有一个简单的 golang 程序,当我 运行 它处于调试模式时,有一个 ~r2
变量我没有定义,我不知道它的用例,除非我在代码中更改某些内容,否则此变量的内容是不变的。
代码如下:
package main
import "fmt"
func removeElement(nums []int, val int) int {
if len(nums) > 0 {
i := 0
for {
if nums[i] == val {
nums = append(nums[:i], nums[i+1:]...)
} else {
i++
}
if i == len(nums) {
break
}
}
}
return len(nums)
}
func main() {
fmt.Println(removeElement([]int{0, 1, 2, 2, 3, 0, 4, 2}, 2))
}
下面是vscode运行中的变量并调试:
~r2
变量包含函数的未命名 return 值的值,在您的例子中是 int
。如果您有更多未命名的 return 值,它们将是 ~r3
...
我有一个简单的 golang 程序,当我 运行 它处于调试模式时,有一个 ~r2
变量我没有定义,我不知道它的用例,除非我在代码中更改某些内容,否则此变量的内容是不变的。
代码如下:
package main
import "fmt"
func removeElement(nums []int, val int) int {
if len(nums) > 0 {
i := 0
for {
if nums[i] == val {
nums = append(nums[:i], nums[i+1:]...)
} else {
i++
}
if i == len(nums) {
break
}
}
}
return len(nums)
}
func main() {
fmt.Println(removeElement([]int{0, 1, 2, 2, 3, 0, 4, 2}, 2))
}
下面是vscode运行中的变量并调试:
~r2
变量包含函数的未命名 return 值的值,在您的例子中是 int
。如果您有更多未命名的 return 值,它们将是 ~r3
...