沈阳百度网站排名,泰安集团网站建设,建立网站的步骤 实湖南岚鸿,php语言开发网站流程之前我学过C、Java、Python语言时总结的经验#xff1a; 先建立整体框架#xff0c;然后再去抠细节。先Know how#xff0c;然后know why。先做出来#xff0c;然后再去一点点研究#xff0c;才会事半功倍。适当的囫囵吞枣。因为死抠某个知识点很浪费时间的。对于GO语言 先建立整体框架然后再去抠细节。先Know how然后know why。先做出来然后再去一点点研究才会事半功倍。适当的囫囵吞枣。因为死抠某个知识点很浪费时间的。对于GO语言切记遵守语法格式规则。例如python语言、例如SpringBoot框架等 解释某些知识点就是很难了解那么先做出来然后继续向前学习可能在某个时间点我们就会恍然大悟。 04【保姆级】-GO语言指针 一、指针的概念1.1 基本数据类型 指针类型1.2 指针的详细讲解指针内存图练习题 二、 值类型和引用类型【面试题】2.1 值类型2.2 引用类型2.3值类型和引用类型的使用特点 一、指针的概念
1.1 基本数据类型 指针类型
基本数据类型变量存的就是值也就是值类型。而指针类型指针变量存的是一个地址这个地址对应的空间存的是值。例如【var ptr *int num】
1.2 指针的详细讲解
获取变量的地址用比如【var num int】 其中获取num的地址是【num】获取指针类型所指向的值使用【*】比如【var ptr *int】使用【*ptr】获取ptr指向的值。 // 基本数据类型var num int 100fmt.Println(num , num) // num 100// 指针类型var ptr *int numfmt.Println(num的地址是, num) // num的地址是 0xc04205a080fmt.Println(ptr存储的是num的地址, ptr) // ptr存储的是num的地址 0xc04205a08fmt.Println(ptr指针指向的变量内容, *ptr) // ptr指针指向的变量内容 100- 解释var ptr *int *num
1. ptr 是一个指针变量
2. ptr 的类型是*int
3. ptr 本身的值num指针内存图 练习题
第一个是错误的因为不能将变量直接赋值给指针。正确的是将变量的内存地址赋值给指针。第二个是错的。是因为类型不匹配。第三个正确。前面a的值通过指针进行了更改后面 指针指向了b。
二、 值类型和引用类型【面试题】
2.1 值类型
值类型都有对应的之类类型形式为【*数据类型】比如int的对应指针就是【*int】值类型包括 基本数据类型 int系列、float系列boolstring数组和结构体struct
2.2 引用类型
引用类型指针、slice切片、map、管道chan、interface等
2.3值类型和引用类型的使用特点 值类型变量直接存储值内存通常在栈中分配。 应用类型变量存储的是一个地址这个地址对应的空间才真正存储数据也就是值内存通常在堆上分配当没有任何变量引用这个地址时该地址对应的数据空间就成了一个垃圾由GC来回收。 内存的栈区和堆区示意图