兄弟连教育Go语言与区块链技术培训课程是由清华、微软和谷歌名师历时半年时间研发出的独一无二的体系化课程。
目前由于用户普遍对于区块链认知不足,加之专业人才的短缺及其高薪诱惑力,导致市场上衍生出多家培训机构。兄弟连教育区块链学院院长尹正表示,面对鱼龙混杂的培训市场,消费者需仔细辨别。
指针概述
指针就是地址,指针变量的值就是内存中的一块地址编号
所有普通类型都有对应的指针类型:int,*float64,*bool,*book,[10]int,*map[string]interface{}
对指针变量的打印推荐使用%p占位符,代表以地址的形式打印
对普通变量取地址: agePtr := &age
取地址中的值:age := *agePtr
对普通变量取地址 VS 对指针变量取值
func demoa1() {
//声明普通变量
var age int = 20
//对age取地址,赋值给整型指针agePointer
var agePointer *int = &age
//类型:整型指针,值:age的内存地址
//type=*int,value=0xc042062080
fmt.Printf("type=%T,value=%p\n", agePointer, agePointer)
//*agePointer取地址中的值,20
fmt.Println("agePointer所指向的地址中的值", *agePointer)
}
存放指针的指针
func demoa2() {
var age int = 20
//agePtr中存放的是age的内存地址
var agePtr *int = &age
//apPtr是一个指向指针(agePtr)的指针
var apPtr **int = &agePtr
//type=**int,value=0xc042082018
fmt.Printf("type=%T,value=%p\n", apPtr, apPtr)
//*apPtr得到agePtr(存放age的地址),*(*apPtr)得到age的值20
fmt.Println(**apPtr)
}
更多区块链视频教程/源码/课件/学习资料-企鹅QUN:591229276
number1 := make([]int, 2, 5)
fmt.Printf("%p\n", number1)
fmt.Printf("%p\n", &number1)
打印的这两个地址分别代表什么?
#1
更多评论