指针
最后更新于
// 定义整型变量
var v1 int
// 定义一个指向整型的指针
var p1 *int
// 使用&获取整型变量地址并赋值给指针
p1 = &v1
// 定义一个指向浮点型的指针
var p2 *float32 = new(float32)package main
import (
"fmt"
)
func main() {
var v1 int
// 定义一个指向整型的指针
var p1 *int = &v1
fmt.Println(*p1)
// 通过指针传参,在方法体内修改方法体外的值
FuncA(p1)
fmt.Println(*p1)
}
// 定义一个使用指针参数的方法
func FuncA(p *int) {
// 通过*寻址到指针所指向的元素,修改元素的值
*p = 1
}0
1package main
import (
"fmt"
// 引用反射包
"reflect"
)
type Person struct {
Name string
Age int8
}
func main() {
// 创建Person的实例
p1 := &Person{}
// 获取结构体实例的反射类型对象
typeOfPerson := reflect.TypeOf(p1)
// 取类型的元素
typeOfPerson = typeOfPerson.Elem()
// 显示反射类型对象的名称和种类
fmt.Printf("element name: '%v', element kind: '%v'\n", typeOfPerson.Name(), typeOfPerson.Kind())
}element name: 'Person', element kind: 'struct'