Gofalse""nilnilGoGonilnull
nilnil0x0
野指针示例:
package main
import (
"fmt"
)
func main() {
var p *int // 指针声明未初始化,野指针
fmt.Printf("%p\n", ptr) // 0x0
// *p = 10 panic 无效的内存地址或 nil 指针解引用 Pointer Dereference,野指针不能进行 *p 取值
fmt.Println(ptr) // nil
var a int = 10
p = &a // 可以重新指向变量 a 的地址
*p = 2 // 即可修改变量a 内存地址的值
fmt.Println(a) // 2
}
Go
type Command struct {
Name string // 指令名称
Var *int // 指令绑定的变量
Comment string // 指令的注释
}
func newCommand(name string, varref *int, comment string) *Command {
return &Command{
Name: name,
Var: varref,
Comment: comment,
}
}
cmd = newCommand(
"version",
&version,
"show version",
)