go语言有指针吗
时间:2022-02-24 10:28
go语言是有指针的;在go语言中使用指针可以简单执行一些任务,其指针格式的声明语法是“var var_name *var-type”,其中参数var-type为指针类型、var_name为指针变量名、*号用于指定变量是作为一个指针的。 本文演示环境:Windows7系统、Go1.11.2版,Dell G3电脑。 推荐教程:《golang》 go语言有指针。 Go 语言中使用指针可以更简单的执行一些任务。 我们都知道,变量是一种使用方便的占位符,用于引用计算机内存地址。 Go 语言的取地址符是 &,放到一个变量前使用就会返回相应变量的内存地址。 以下实例演示了变量在内存中地址: 实例 执行以上代码输出结果为: 现在我们已经了解了什么是内存地址和如何去访问它。接下来我们将具体介绍指针。 什么是指针 一个指针变量指向了一个值的内存地址。 类似于变量和常量,在使用指针前你需要声明指针。指针声明格式如下: var-type 为指针类型,var_name 为指针变量名,* 号用于指定变量是作为一个指针。以下是有效的指针声明: 本例中这是一个指向 int 和 float32 的指针。 如何使用指针 指针使用流程: 定义指针变量。 为指针变量赋值。 访问指针变量中指向地址的值。 在指针类型前面加上 * 号(前缀)来获取指针所指向的内容。 实例 以上实例执行输出结果为: Go 空指针 当一个指针被定义后没有分配到任何变量时,它的值为 nil。 nil 指针也称为空指针。 nil在概念上和其它语言的null、None、nil、NULL一样,都指代零值或空值。 一个指针变量通常缩写为 ptr。 查看以下实例: 实例 以上实例输出结果为: 空指针判断: 更多go语言技术文章,请访问go语言教程栏目! 以上就是go语言有指针吗的详细内容,更多请关注gxlsystem.com其它相关文章!package main
import "fmt"
func main() {
var a int = 10
fmt.Printf("变量的地址: %x\n", &a )
}
变量的地址: 20818a220
var var_name *var-type
var ip *int /* 指向整型*/
var fp *float32 /* 指向浮点型 */
package main
import "fmt"
func main() {
var a int= 20 /* 声明实际变量 */
var ip *int /* 声明指针变量 */
ip = &a /* 指针变量的存储地址 */
fmt.Printf("a 变量的地址是: %x\n", &a )
/* 指针变量的存储地址 */
fmt.Printf("ip 变量储存的指针地址: %x\n", ip )
/* 使用指针访问值 */
fmt.Printf("*ip 变量的值: %d\n", *ip )
}
a 变量的地址是: 20818a220
ip 变量储存的指针地址: 20818a220
*ip 变量的值: 20
package main
import "fmt"
func main() {
var ptr *int
fmt.Printf("ptr 的值为 : %x\n", ptr )
}
ptr 的值为 : 0
if(ptr != nil) /* ptr 不是空指针 */
if(ptr == nil) /* ptr 是空指针 */