英文:
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))
}
英文:
I have a simple golang program, when I run it in debug mode, there is a ~r2
variable which I haven't defined and I don't know its use case, the content of this variable is constant unless I change something inside the code.
Here is the code:
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))
}
答案1
得分: 2
~r2
变量包含函数的未命名返回值,对于你的情况是一个int
类型。如果你有更多的未命名返回值,它们将是~r3
...
英文:
The ~r2
variable contains the values of unnamed return values of the function, which in your case an int
. If you have more unnamed return values they will be ~r3
...
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论