ad

编程之旅从学会《零基础Go语言》开启_第三章_基本变量与类型_结尾

admin 143 2023-10-12

【摘要】 本书摘自《零基础Go语言 从入门到精通》一书中第三章,第3.1节,编者是零壹快学

指针

谈及指针,很多人可能马上会联想到C/C++中的指针,指针的存在是C/C++强大的根本所在,

编程之旅从学会《零基础Go语言》开启_第三章_基本变量与类型_结尾

但同时也带来很多安全问题,相比之下Go语言的指针则更加高效和安全。

3.3.1 声明指针

指针是一种地址值,这个地址值代表着计算机内存空间中的某个位置。指针变量就是存放地 址值的变量,指针变量的声明格式如下:

一般情况下,我们将指针变量的类型声明为*int,变量名为“p”开头(指代“point”)的单 词,如“p”或“ptr”。

动手写3.3.1

执行结果如下:

由于指针变量未指向任何地址,所以打印值为nil。

3.3.2 取变量地址

Go语言中,使用操作符“&”取变量地址,取得的地址值可以赋给指针变量。 动手写3.3.2

执行结果如下:

由于指针变量本身也是变量,因此指针变量在计算机内存中也有自己的地址。需注意的是, 读者运行上述程序时得到的实际结果可能与以上结果不符,甚至多次运行该程序得到的结果可能

都不一致,这是由于变量在内存中的位置都是随机分配的。

3.3.3 获取指针所指向的内容

指针变量存储的值为地址值,通过在指针变量前面加上“*”符号可以获取指针所指向地址值 的内容。

动手写3.3.3

执行结果如下:

基 础 Go 语言从入门到精通

注意:p指针声明后其值为nil,这时如果获取指针p指向的地址内容,则会出错,如动手写 3.3.4所示。

动手写3.3.4

执行结果如下:

3.3.4 使用指针修改值

在指针变量有实际指向的地址值后,可以通过如下格式直接修改指针所指向内存地址的内容:

执行结果如下:

对于动手写3.3.5中的问题,在使用指针修改值时也需注意,可使用new()函数来给指针分配地 址并初始化地址对应的值。

动手写3.3.6

执行结果如下:

○3.4 其他数据类型

Go语言中有丰富的数据类型,本章主要介绍基本的数据类型,如整型、浮点型、字符串、字 符和布尔型。除了以上类型,Go语言还有切片、通道、map(映射)和函数等类型。

数组、切片和map类型是开发中常用的数据类型,将在第6章进行讲解。

函数是Go语言常见的数据类型,将在第7章进行讲解。

结构体作为Go语言中最为复杂难懂的数据类型,将在第9章进行讲解。

接口作为Go语言的高级特性,将在第12章进行讲解。

通道和Go语言并发操作有关,将在第13章进行讲解。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:编程之旅从学会《零基础Go语言》开启_第六章_Go 语言内置容器3
下一篇:编程之旅从学会《零基础Go语言》开启_第六章_Go 语言内置容器4
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×