Golang 中的指针类型
[TOC]
1. 基本的指针声明以及使用
可以使用*T
声明一个类型是T 的指针,指针类型用于存储某个变量的地址,使用*
操作符可以解引用,获取指针的值,注意golang中的指针不支持指针下移操作,即不支持ptr++
.
对于一个声明后但是没有指明其值的指针为空指针nil
2,使用指针类型作为参数传递
注意golang中一般不使用指针类型作为函数的参数进行传递,而是使用切片类型代替。例如需要更改一个数组的值,可以使用传入一个数组的指针类型,使得内部的数组对于外界是可见的。但是这种方式不符合go的基本思想;使用slice代替
使用数组指针时,对于元素的访问需要解引用,也就是使用*
对于数组元素进行访问。但是可以使用较为简短的语法,直接使用ptr[i]
对于指针所指向数组的第i个元素进行访问。(*ptr)[i]-->ptr[i]
Last updated