首页 > 其他分享 >GO的学习(3)

GO的学习(3)

时间:2023-03-07 14:13:31浏览次数:27  
标签:变量 指向 学习 地址 数组 GO 指针 结构

GO的学习(3)

指针

定义

指针,从字面意义上理解就是一个指向的过程。由于变量的创建赋值本质上是在操控内存空间,当新建一个变量并且赋值的时候,内存会创造出一块空间来存放这个变量,而这个空间也有其地址,因此将其他变量也指向该地址也就能通过其他变量来控制他。

如果要使用该内存的数据则要在变量前加上*,感觉上是类似于提取的意思这个。指针变量本身也存在一片内存空间。

存储指针变量的指针变量

一个*号为指针变量,两个*号为存储指针变量的指针变量,感觉有点套娃的意思。

大概是这个感觉,此时也和上面一样 c本身存在一个地址,c指向的是b的地址,*c指向的是b指向的地址即a的地址,想要提出a的值要使用两个*号

指针的使用

数组指针:首先是一个指针,指向数组的地址

大体上和前面的一样,都是创造指针变量进行取地址一些操作,但是作为数组指针创建的指针也应该为数组且与指向的变量要保持一致

简化写法上(语法糖),由于指向了这个地址,就当做数组用就行了,可以直接修改里面的值。(但是实际上好像还是指针。)

指针数组:首先是一个数组,存储的数据类型是指针

定义了一个指针数组里面存入变量的地址就可以直接通过指针的方式*xxx修改里面的值。

指针函数:

函数可以将指针作为参数,也可以将指针作为返回值使用

由于传入的参数本质上是地址,因此突破了值传递的限制。

结构体

结构体的定义

结构体是由一堆相同或者不同的变量数据集合而成的数据集合,一般用来保存某一类事务的属性(有点类似类?)

结构体的定义:type name struct{}

在以上的四种方法中唯一要注意的就是第四个方法如果不特地打出key值的话就要按照顺序来

结构体与指针

在验证了结构体为值传递之后可以通过指针实现引用传递。

匿名结构体

匿名结构体:不需要设置结构体的名字自,直接对一个变量进行使用。

匿名字段:不需要设置key值,后续赋给一个变量直接变量.xxx使用。

结构体的嵌套

结构体的嵌套,顾名思义就是在结构体中嵌套一层结构体。

结构体的导出:

自建一个新的文件夹作为包,在里面创造一个结构体,大写开头能被外部调用,小写则不行。

2023-03-06_164953

2023-03-06_165005

虽然一开始出现了许多问题,最后是放入了GOROOT的地址下解决了。

标签:变量,指向,学习,地址,数组,GO,指针,结构
From: https://www.cnblogs.com/wocai/p/17187931.html

相关文章

  • 碎片化学习前端之CSS(var 函数)
    var函数CSS变量函数,用于取出CSS变量的值。变量的目的只有一个:复用。CSS变量是CSS3提出的,为CSS模块化配置提供了基础。var函数的基本用法var()函数接收两个......
  • 大数据学习之flume(一)
    1、安装java2、安装flume,上传压缩包,解压3、修改confcpflume-env.sh.templateflume-env.shvi flume-env.sh修改javahome位置4、测试:flume-ngversion使用向导:http......
  • Lua 学习-10 元表metaTable
    2.4– MetatablesandMetamethodsEveryvalueinLuacanhavea metatable.This metatable isanordinaryLuatablethatdefinesthebehavioroftheorigina......
  • OMV学习笔记(二)——OMV-extras插件安装
    作为PT下载机使用一段时间后,发现需要实现冗余备份还是需要OMV-extras中的docker和其他插件。只好重新下载。omv-extras插件安装根据omv-extras官方指南,OMV6现在只有一......
  • 集成学习之bagging、boosting及AdaBoost的实现
    本文所有代码都是基于python3.6的,数据及源码下载:传送门引言前面博客分享,我们已经讲解了不少分类算法,有knn、决策树、朴素贝叶斯、逻辑回归、svm。我们知道,当做重要决......
  • Word2vec之情感语义分析实战(part3)--利用分布式词向量完成监督学习任务
    引言这篇博客将基于前面一篇博客Part2做进一步的探索与实战。demo代码与数据:传送门单词的数值化表示前面我们训练了单词的语义理解模型。如果我们深入研究就会发......
  • vba 其他循环语句 (goto语句等…)
    (1)Gotoline该语句为跳转到line语句行(2)Onexpressiongosubdestinatioinlist或者onexpressiongotodestinationlist语句为根据exprssion表达式值来跳转到所要的行......
  • Golang+Gin+ Redis Cluster
    最近用redisshake做redis数据迁移,由于redis提供的客户端没有用于查看集群的工具,且我部署的redis集群是基于k8s来构建的,没有使用ingress做转发,所以只能在k8s内部访问集群,于......
  • 【黄啊码】浅谈PHP入门|如何学习PHP
    大家好,我是黄啊码,很多小白问我,怎么入门PHP,甚至连PHP能干嘛都不知道,今天啊码就具体来讲讲。什么是PHPPHP是一种开源的通用脚本语言,用于创建动态网页和应用程序。它可以运行在......
  • 论文学习路线
    要记得扫一眼参考文献,看看从哪里来的灵感,文章的前身是哪篇两周时间内通过泛读找出自己喜欢的领域内的100篇优秀论文,非常粗略地读和找(最多看到introduction),只看顶会/牛团队/......