兄弟连Go语言培训教程复合类型4:指针

XDLGo · · 275 次点击 · 开始浏览    置顶
  兄弟连教育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
275 次点击  
加入收藏 微博
7 回复  |  直到 2018-09-19 11:57:56
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传