栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

PHP自学Go日记(七):数字、字符串类型的引用变量

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

PHP自学Go日记(七):数字、字符串类型的引用变量

这是在PHP中的引用变量:
 

 

在Go中也存在引用变量这一概念,不过比PHP稍显复杂,我们先看一下代码: 
package main

import(
	"fmt"
)

func main () {
    a := 1
    b := &a
    *b = 2

    fmt.Println("a = ", a) // 2
}

在Go中,有一个概念叫指针,表示每个表量的临时虚拟存储地址。

当初始化变量a时,变量的实际存储情况如下:

当初始化变量b时,我们注意到在变量a前面添加了修饰符“&”,表示变量b的变量值为变量a的指针。如下图所示:

 

当我们需要通过变量b改变变量a的值时,不能直接使用“b = 2”这种写法,否则只会改变变量b的变量值,因此我们使用了“*b = 2”这种写法。修饰符“*”代表我们要改变的是该变量值中指针指向的变量值。如下图所示:

 

 

在函数中改变函数外的变量:
package main

import(
	"fmt"
)

func main () {
    a := 1
    changeValue(&a)
    fmt.Println("a = ", a) // 2
}


func changeValue(b *int){
    *b = 2
}

在函数中,入参的类型声明前添加修饰符“*”,代表仅接受整形变量的指针传入。同样的,在函数体内使用修饰符“*”才能改变a的值。

注:以上内容仅适用于整形、浮点型及字符串类型,其他类型处理方法有所不同。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1006583.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号