当前位置: 首页 > news >正文

做暖暖小视频免费网站网站建设玖金手指花总

做暖暖小视频免费网站,网站建设玖金手指花总,制作本地网页,网络维护员是做什么的引言 当你用Go编写软件时,你将编写函数和方法。你可以将数据作为参数传递给这些函数。有时,函数需要数据的本地副本,而你希望原始数据保持不变。例如,如果你是一家银行,你有一个函数向用户显示根据他们选择的储蓄计划而产生的余额变化,你不希望在客户选择计划之前更改他…引言 当你用Go编写软件时,你将编写函数和方法。你可以将数据作为参数传递给这些函数。有时,函数需要数据的本地副本,而你希望原始数据保持不变。例如,如果你是一家银行,你有一个函数向用户显示根据他们选择的储蓄计划而产生的余额变化,你不希望在客户选择计划之前更改他们的实际余额;你只是想在计算中使用它。这被称为按值传递,因为你将变量的值发送给函数,而不是变量本身。 其他时候,你可能希望函数能够改变原始变量中的数据。例如,当银行客户向他们的账户存款时,您希望存款功能能够访问实际余额,而不是副本。在这种情况下,你不需要将实际数据发送给函数;你只需要告诉函数数据在内存中的位置。一种称为指针的数据类型保存的是数据的内存地址,而不是数据本身。内存地址告诉函数在哪里找到数据,而不是数据的值。你可以将指针而不是数据传递给函数,然后函数可以原地改变原始变量。这被称为引用传递,因为变量的值并没有传递给函数,只有它的位置。 在本文中,您将创建和使用指针来共享对变量内存空间的访问。 定义和使用指针 当你使用指向变量的指针时,有几个不同的语法元素需要你理解。第一个是和号()的使用。如果你在变量名前放一个符号,你是在声明你想要获取地址,或者指向该变量的指针。第二个语法元素是使用星号(*)或解引用操作符。当你声明一个指针变量时,在变量名后面加上指针所指向的变量的类型,并以*作为前缀,像这样: var myPointer *int32 = someint这将创建myPointer作为一个指向int32变量的指针,并将指针初始化为someint的地址。这个指针实际上并没有包含int32,只是一个int32的地址。 让我们看一下指向string的指针。下面的代码声明了一个字符串的值和一个指向字符串的指针: main.go package mainimport "fmt"func main() {var creature string = "shark"var pointer *string = creaturefmt.Println("creature =", creature)fmt.Println("pointer =", pointer) } 使用下面的命令运行这个程序: go run main.go运行这个程序时,它会打印出变量的值,以及变量的存储地址(指针地址)。内存地址是十六进制数,并不是人类可读的。在实践中,您可能永远不会输出内存地址来查看它。我们展示给你们是为了说明。因为每个程序在运行时都是在自己的内存空间中创建的,所以每次运行时指针的值都不一样,也和下面的输出不一样: Outputcreature = shark pointer = 0xc0000721e0我们定义的第一个变量名为creature,并将它设置为一个值为shark的string。然后我们创建了另一个名为pointer的变量。这次,我们将pointer变量的值设置为creature变量的地址。我们使用符号(’ ')将值的地址存储在变量中。这意味着pointer变量存储的是creature变量的地址,而不是实际值。 这就是为什么当我们打印pointer的值时,我们收到了0xc0000721e0的值,这是creature变量当前存储在计算机内存中的地址。 如果你想打印出pointer变量指向的变量的值,你需要解引用该变量。下面的代码使用*操作符解引pointer变量并获取它的值: main.go package mainimport "fmt"func main() {var creature string = "shark"var pointer *string = creaturefmt.Println("creature =", creature)fmt.Println("pointer =", pointer)fmt.Println("*pointer =", *pointer) }Outputcreature = shark pointer = 0xc000010200 *pointer = shark我们现在添加的最后一行解引了pointer变量,并打印出存储在该地址的值。 如果你想修改存储在pointer变量位置的值,你也可以使用解引用操作符: main.go package mainimport "fmt"func main() {var creature string = "shark"var pointer *string = creaturefmt.Println("creature =", creature)fmt.Println("pointer =", pointer)fmt.Println("*pointer =", *pointer)*pointer = "jellyfish"fmt.
http://www.sadfv.cn/news/210885/

相关文章:

  • 温州专业建站晋江市住房建设局网站
  • 西安做网站公司有哪些?哪个网站名片做的号
  • 禹城网站建设电话展台设计方案介绍
  • 沈阳网站设计推广安卓软件是哪个公司开发的
  • 什么网站后台程序好用义乌免费做网站
  • 中山网站排名推广网站设计的指导思想
  • 网站做404好处快速优化官网
  • 精品成品中韩网站源码免费网站需要具备条件
  • 河北网站建站制作cms系统首页
  • 网站建设与网页设计作业长沙网上商城开发
  • 网站英文域名是什么中国建筑室内设计网
  • 济南网站建设公司哪家好一点华亭网站建设
  • 泰安市最大的网络公司关键词优化到首页怎么做到的
  • 学生个人网站设计中小企业名录库
  • phpcms双语网站怎么做wordpress删除登录
  • 营销型企业网站的策划方案免费网站建设品牌
  • 乐山市建设局网站网站问卷调查系统怎么做
  • 网站流量监控建站小二
  • 网站建设培训公司排名怎么做能让网站尽快收录
  • 分包合同建设局网站下载wordpress wpml
  • 更换dns能上国外网站吗网站开发建设公司电话
  • 如何做拼车网站app嘉兴网站建设企业网站制作
  • 流量网站怎么做的网站标题设计在线
  • 家装行业网站建设广西短视频运营是
  • 雪亮工程建设网站界面家装公司报价
  • 网站备案时间有效期桂阳县网站建设公司哪家好
  • php网站发送邮件青海企业网站建设
  • seo网站推广企业做的好看的旅游网站
  • 莱芜搜狗推广哪家好湖南seo
  • 模板下载网站什么好啥前端框架可以做网站首页