美文网首页go学习互联网科技程序员
16. go语言有指针 没有指针运算

16. go语言有指针 没有指针运算

作者: 厚土火焱 | 来源:发表于2017-08-13 01:07 被阅读130次

指针内其实就是保存了一个变量地址。

var p *int

这行代码声明了一个 int 类型的指针 p

i := 42
p = &i

& 符号是取地址符,&i 代表的是变量 i 的内存地址。

fmt.Println(*p)      //打印指针p的值
*p = 21                //修改指针p的值

通过指针控制变量的值的变化。这也就是通常所说的“间接引用”或“非直接引用”。
看一个代码实例

package main

import (
    "fmt"
)

func main() {
    i, j := 45, 1973
    p := &i             //p保存的是i的地址
    fmt.Println(*p)     //*p是指针,通过这个指针去读取i
    *p = 27             //赋值27给指针*p
    fmt.Println(i)      //打印i

    p = &j              //p保存的地址换成了j的地址
    *p = *p / 37        //用指针带入j做除法
    fmt.Println(j)      //打印j

}

运行结果

45
27
53

相关文章

  • 16. go语言有指针 没有指针运算

    指针内其实就是保存了一个变量地址。 这行代码声明了一个 int 类型的指针 p & 符号是取地址符,&i 代表的是...

  • golang 基础(12)指针

    指针 在 go 语言中指针没有 c++ 中那么复杂,因为没有指针的运算。 什么时候用指针,也就是指针的用途 可能结...

  • go编程基础视频笔记-控制语句

    指针 Go虽然保留了指针,但与其他语言不同Go中不支持指针运算以及->运算符,而直接采用.选择符来操作指针目标对象...

  • Golang 指针

    指针 区别于C/C++中的指针,Go语言中的指针不能进行偏移和运算,是安全指针。Go语言当中的指针涉及到三个点:指...

  • 关于golang指针的理解与使用

    Go指针理解 Go 有指针,但是没有指针运算。你不能用指针变量遍历字符串的各个字节。在 Go 中调用函数的时候,得...

  • Go语言基础之指针

    区别于C/C++中的指针,Go语言中的指针不能进行偏移和运算,是安全指针。 要搞明白Go语言中的指针需要先知道3个...

  • GO语言学习系列五——GO的控制语句(补充指针)

    补充指针 在GO语言中,提供了控制数据结构的指针的能力,但是,你不能进行指针运算; 在GO语言中,用*关键字来声明...

  • Go语言 值,指针,引用类型

    Go语言的指针与C或C++的指针类似,但是Go语言的指针不支持指针运算,这样就消除了在C或C++程序中一些潜在的问...

  • Golang学习摘录五:进阶

    Go 有指针。然而却没有指针运算,因此它们更象是引用而不是你所知道的来自于 C 的指针。指针非常有用。在 Go 中...

  • 【golang】3.0 指针、数组、range关键字、Slice

    指针 指针在go语言中是一个很重要的概念,但比c语言简单多了。 指针简单在:指针不能运算参数传递:值传递还是引用传...

网友评论

    本文标题:16. go语言有指针 没有指针运算

    本文链接:https://www.haomeiwen.com/subject/izlsrxtx.html