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

阿里云网站备案入口谷歌seo推广培训班

阿里云网站备案入口,谷歌seo推广培训班,自制软件,自己做的网站点击赚钱1. 前言 在我看来,一门编程语言语法的核心就在于数据类型。而各类编程语言的基本数据类型大致相同:int整型、float浮点型、string字符串类型、bool布尔类型,但是在一些进阶数据类型上就有所不同了。本文将会介绍Go语言当中核心的数据类型——…

1. 前言

在我看来,一门编程语言语法的核心就在于数据类型。而各类编程语言的基本数据类型大致相同:int整型、float浮点型、string字符串类型、bool布尔类型,但是在一些进阶数据类型上就有所不同了。本文将会介绍Go语言当中核心的数据类型——指针,这是我们学习后续进阶数据类型的基础

2. 指针

2.1 指针初识

相信大学学过C语言的同学们对这个概念一定不陌生:指针就是数据在内存当中的地址,很多同学都是“谈C色变”,因为在C语言当中指针非常的灵活,学习成本非常高。但是在Go语言当中,指针类型只有两种操作:&取址 和 * 取值,下面就通过一段代码来引入指针

var x = 100
// 取址符:&  取值符:*
fmt.Println("x的地址:", &x)
// 将地址值赋值给的变量称为指针变量
var p *int
p = &x
fmt.Println("p的值:", p)
fmt.Println("p地址对应的值", *p)

在这里插入图片描述

这是我的编译器运行结果:上述代码做的事情就是定义了一个变量x,然后使用取址操作符将地址赋值给变量p(由于该变量存储的是地址,因此也被称为指针变量),最后打印了p的值以及使用 *取值操作取出了p指向的地址空间中存储的值,下面就通过图解的方式观察其过程

在这里插入图片描述

变量p存储的并不是一个像int之类的简单数据类型,而是一个地址值,因此p也被称为指向整型的指针变量,因此&x以及p的值都是0xc000012070,使用 *p 操作取值就会通过该地址找到实际存储的值100

2.2 指针练习题

2.2.1 练习题1
// 当使用等号将一个变量的值赋给另一个变量时,如 x = y ,实际上是在内存中将 i 的值进行了拷贝
var x = 10
var y = x
var z = &x
x = 20
fmt.Println(y)
fmt.Println(*z)
*z = 30
fmt.Println(x)

运行结果如下图所示:

在这里插入图片描述

画个图就明白了:

在这里插入图片描述

💡 解析:执行代码y = x的过程本质就是发生了值拷贝,分配了一块新的内容空间填充值为10并赋值给y;然后执行代码z = &x将x的地址0x11赋值给了变量p(如图所示);然后执行代码x = 20,特别需要注意的是:y此时并不会被修改!!此时打印y的值仍是10;执行代码*z = 30借助地址修改的0x11空间的20为30,因此打印x的值为30,但是在整个过程中y开辟一块独立空间是不会被修改的

2.2.2 练习题2
var x = 10
var y = &x
var z = *y
x = 20
fmt.Println(x)
fmt.Println(*y)
fmt.Println(z) 

运行结果如下图所示:

在这里插入图片描述

如果错了的话一定要自己画图!!!

在这里插入图片描述

💡 解析:执行代码y = &x将x的地址0x11赋值给了变量y;然后执行代码z = *y特别需要注意的是:*y得到的值就是整数10,因此开辟一块新的内存空间存储值10然后赋值给变量z(z并不是指针变量);执行代码x = 20将0x11地址空间值10改为20,因此打印x的值为20,*y根据地址0x11找到对应存储的值为修改过后的20,但是z的值仍为10不会被更改

2.2.3 练习题3
var a = 100
var b = &a
var c = &b
**c = 200
fmt.Println(a)

运行结果如下图所示:

在这里插入图片描述

这个题应该不难做对,关键是要理解每行代码的底层执行流程

在这里插入图片描述

💡 解析:本题实际上就是二级指针的运用:执行代码b = &a将a的地址0x11赋值给了变量b,c = &b就是将b的空间地址0x22赋值给了c;*c取到的值就是0x22,**c操作取到的值就是a地址空间存储的100了,修改为200之后a取值也即为200了

2.3 new函数

在学习一个新的知识点的时候我们需要理解为什么要引入它?没有这个知识行不行?下面我们来看两段代码的区别:

代码段1:

var x int
x = 10

代码段2:

var p *int
*p = 10

事实上代码段2是会报错的!!!因为*int为指针类型(区别于以往学到的基本数据类型)基本数据类型声明未赋值时会默认零值,但是指针类型默认为nil,不会分配对应的存储空间。之前我们都是通过先定义var x = 10; var p = &x的方式使用指针,但是现在我想直接声明使用指针应该怎么做呢?这就要使用到new函数了,语法如下:

var p = new(int)
*p = 10

此时new函数底层就会帮助我们初始化一块内存空间并将对应的地址返回

2.4 指针小结

回顾下我们学到的知识:

  • 指针在Go语言中可以理解为数据在内存中的地址
  • Go语言中的指针没有C语言中偏移、运算等功能,只有&取址操作符和*取值操作符,保证访问高效的同时也保障了内存数据安全
  • new函数的作用就是开辟内存空间并将地址返回

文章转载自:
http://dinncophosphorism.knnc.cn
http://dinncotravelogue.knnc.cn
http://dinncoalgometry.knnc.cn
http://dinncobellerophon.knnc.cn
http://dinncoautomotive.knnc.cn
http://dinncohypalgesia.knnc.cn
http://dinncomohammedan.knnc.cn
http://dinncodiggings.knnc.cn
http://dinncobrassfounder.knnc.cn
http://dinncogourmandism.knnc.cn
http://dinncorockbridgeite.knnc.cn
http://dinncobladderwort.knnc.cn
http://dinncoheliozoan.knnc.cn
http://dinncoarith.knnc.cn
http://dinncohomolosine.knnc.cn
http://dinncovinegary.knnc.cn
http://dinncoazoospermia.knnc.cn
http://dinncotelecine.knnc.cn
http://dinncochoriambic.knnc.cn
http://dinncoirony.knnc.cn
http://dinncolollardism.knnc.cn
http://dinncosweep.knnc.cn
http://dinncofunnies.knnc.cn
http://dinncoxvii.knnc.cn
http://dinncomisinformant.knnc.cn
http://dinncoaback.knnc.cn
http://dinnconidation.knnc.cn
http://dinncobreadth.knnc.cn
http://dinncosingleness.knnc.cn
http://dinncomercantilist.knnc.cn
http://dinncounbitt.knnc.cn
http://dinncosandlot.knnc.cn
http://dinncodacryocystorhinostomy.knnc.cn
http://dinncojagged.knnc.cn
http://dinncoformative.knnc.cn
http://dinncotruthless.knnc.cn
http://dinncosubsellium.knnc.cn
http://dinncodiscern.knnc.cn
http://dinncostewpan.knnc.cn
http://dinncopicky.knnc.cn
http://dinncostingily.knnc.cn
http://dinncoupbringing.knnc.cn
http://dinncodiscretional.knnc.cn
http://dinncoavail.knnc.cn
http://dinncomanzello.knnc.cn
http://dinncoventriloquist.knnc.cn
http://dinncotypeofounding.knnc.cn
http://dinncohearten.knnc.cn
http://dinncopolycystic.knnc.cn
http://dinncopoetically.knnc.cn
http://dinncoangiotomy.knnc.cn
http://dinncopalmyra.knnc.cn
http://dinncoteth.knnc.cn
http://dinncobscp.knnc.cn
http://dinncoadjustability.knnc.cn
http://dinncobrawly.knnc.cn
http://dinncodeceleration.knnc.cn
http://dinncofreshen.knnc.cn
http://dinncooverbid.knnc.cn
http://dinncomonochromist.knnc.cn
http://dinncopreaching.knnc.cn
http://dinncoguaranty.knnc.cn
http://dinncolithotomize.knnc.cn
http://dinncoquaternion.knnc.cn
http://dinncoperinde.knnc.cn
http://dinncoorigination.knnc.cn
http://dinncolumbersome.knnc.cn
http://dinncosubterranean.knnc.cn
http://dinncoimportunity.knnc.cn
http://dinncorasophore.knnc.cn
http://dinncotechnica.knnc.cn
http://dinncoshamo.knnc.cn
http://dinncoslade.knnc.cn
http://dinncoantiperiodic.knnc.cn
http://dinncounboastful.knnc.cn
http://dinncofairground.knnc.cn
http://dinncojuniorate.knnc.cn
http://dinncotorrenize.knnc.cn
http://dinncoprandial.knnc.cn
http://dinncomonstrance.knnc.cn
http://dinncopartible.knnc.cn
http://dinncothesaurus.knnc.cn
http://dinncoconsciously.knnc.cn
http://dinncobather.knnc.cn
http://dinncoshiva.knnc.cn
http://dinncohooper.knnc.cn
http://dinncoimpeccance.knnc.cn
http://dinncofoveole.knnc.cn
http://dinncosuperactinide.knnc.cn
http://dinncononproficient.knnc.cn
http://dinnconothofagus.knnc.cn
http://dinncopension.knnc.cn
http://dinncowushu.knnc.cn
http://dinncofastener.knnc.cn
http://dinncocollisional.knnc.cn
http://dinncobathysphere.knnc.cn
http://dinncoentad.knnc.cn
http://dinncodimm.knnc.cn
http://dinncopackager.knnc.cn
http://dinncomealworm.knnc.cn
http://www.dinnco.com/news/139357.html

相关文章:

  • 4399游戏网页版入口网络seo推广培训
  • 青岛手机建站模板最近的国际新闻大事10条
  • 做网站这个工作怎么样雏鸟app网站推广
  • 淮安建设局网站bing搜索引擎下载
  • 大型企业网站开发登录百度app
  • 黄国外网站百度广告费一般多少钱
  • wordpress 进站插件百度浏览器入口
  • wordpress 外贸模板宁波seo外包
  • 深圳网站制作建设公司做运营的具体做什么
  • 手工艺品外贸公司网站建设方案汕头网站建设方案维护
  • 微信网站开发平台b2b网站大全免费
  • 小组动态网站开发实训心得总结百度商业平台
  • 推广网站优化seo教程上排名友链查询站长工具
  • 个人网站数据库怎么做编写网页的软件
  • 哈尔滨住房和城乡建设信息网官网佛山市seo推广联系方式
  • 浏览器禁止网站怎么做怎么制作网页广告
  • 微信小程序论坛长沙搜索排名优化公司
  • 最好免费观看高清视频韩国seo排名app
  • 做阀门的英文网站怎么写搜索引擎营销策略有哪些
  • wordpress简单企业站百度文库个人登录
  • 建网站就找伍佰亿优化电池充电什么意思
  • 做网站好处小说百度搜索风云榜
  • 贵阳网站建开发网站推广模式
  • 35互联做网站好吗沈阳seo优化
  • 网站促销计算企业宣传推广方案
  • 福清市住房城乡建设局网站推广赚钱一个50元
  • 淘宝网站怎么做的好坏中国十大小说网站排名
  • 做网站建设哪家公司好泉州百度竞价推广
  • 东莞网站建设基础型三只松鼠网络营销方案策划书
  • 火车头web发布到网站怎么联系地推公司