Go语言探索 - 7(原创)
在 上一篇文章 主要学习了Go语言的函数定义、值传递和引用传递以及闭包函数。本篇文章主要介绍的是Go 语言变量以及变量的作用域
Go 语言中变量跟Java的变量一样,它可以在三个地方声明:
A:函数内定义的变量称为局部变量
B:函数外定义的变量称为全局变量
C:函数定义中的变量称为形式参数
说完了变量我们在说说变量的作用域。变量的作用域是指:为已声明标识符所表示的常量、类型、变量、函数或包定义其在源代码中的作用范围。
首先具体了解下Go语言中的局部变量、全局变量和形式参数(在上一篇文章也提到过)。
局部变量:
在函数体内声明的变量称之为局部变量,它们的作用域只在函数体内,参数和返回值变量也是局部变量。
其中这里的红色矩形代表的就是局部变量
全局变量:
在函数体外声明的变量称之为全局变量,全局变量可以在整个包甚至外部包(被导出后)使用。
可以看到 我们在方法外部定义的变量,通过useData这个函数也可以引用到它的值
但是值得注意的是,Go 语言程序中全局变量与局部变量名称可以相同,但是函数内如果发现局部变量和全局变量同名时,函数内的局部变量会优先赋值(这个跟Java一样的,就近原则)
形式参数:
之前也说到了形式参数,一般是在方法上面定义的,但是它会作为函数的局部变量来使用。
其中,这里的 a b就是形式参数,但是它的使用还是当成局部变量来进行逻辑使用。
还有,不同类型的局部和全局变量也是有默认值的(也就是你不赋值,他们也有初始化默认值),int类型以及float类型的初始化默认值是0、pointer初始化默认值是nil(Java也叫空指针)
本篇文章主要学习的是Go语言变量类型以及变量的作用域,由于之前的文章也提到过这些概念,所以本篇文章重在理解与归纳。
如果这篇文章对你有帮助,希望各位看官留下宝贵的star,谢谢。
Ps:著作权归作者所有,转载请注明作者, 商业转载请联系作者获得授权,非商业转载请注明出处(开头或结尾请添加转载出处,添加原文url地址),文章请勿滥用,也希望大家尊重笔者的劳动成果。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Java游戏引擎竟然可以如此简单
今天,让我们进入一个可以伸手触摸的世界吧。在这篇文章里,我们将从零开始快速完成一次第一人称探索。本文没有涉及复杂的数学计算,只用到了光线投射技术。你可能已经见识过这种技术了,比如《上古卷轴5 : 天际》、《毁灭公爵3D》。 用了光线投射就像开挂一样,作为一名懒得出油的程序员,我表示非常喜欢。你可以舒畅地浸入到3D环境中而不受“真3D”复杂性的束缚。举例来说,光线投射算法消耗线性时间,所以不用优化也可以加载一个巨大的世界,它执行的速度跟小型世界一样快。水平面被定义成简单的网格而不是多边形网面树,所以即使没有 3D 建模基础或数学博士学位也可以直接投入进去学习。 利用这些技巧很容易就可以做一些让人嗨爆的事情。15分钟之后,你会到处拍下你办公室的墙壁,然后检查你的 HR 文档看有没有规则禁止“工作场所枪战建模”。 玩家 我们从何处投射光线?这就是玩家对象(Player)的作用,只需要三个属性 x,y,direction。 JavaScript function Player(x, y, direction) { this.x = x; this.y = y; this.direction =...
- 下一篇
python爬虫零基础入门——反爬的简单说明
之前在《如何开始写你的第一个python脚本——简单爬虫入门!》中给大家分享了一下写一个爬虫脚本的基本步骤,今天继续分享给大家在初期遇到的一个很烦人的问题——反爬及处理办法! 我们的工具及库为:python3.6、pycharm、requests库 基本步骤:获取网页源代码——匹配需要的内容——提取并保存。 在这中间经常遇到这么几类问题: 脚本中获取的网页源代码和网页右键查看的源代码不同(编码格式的问题除外),或者返回400状态码 需要登录才能获取,不登录不能查看源代码,网页中也是需要登录才可以访问的 有验证码 开始可以获取内容,运行一段时间后报错(具体情况有:服务器拒绝连接,即ip被封等)一般为HTTPError 我们逐条看看 Headers的使用 某些网站反感爬虫的到访,于是直接拒绝所有爬虫的请求,或者返回其他的网页源码比如:连接频繁稍后在访问,或者直接返回403的状态码,比如抓取简书主页的时候出现下图 这是因为我们在访问网站服务器的时候,没有做任何的伪装,就相当于告诉服务器“我是个脚本”,那么服务器当然不客气的拒绝你了! 处理方法其实很简单,我们在代码中伪装自己是个浏览器就可以了...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS关闭SELinux安全模块
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Red5直播服务器,属于Java语言的直播服务器
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7,8上快速安装Gitea,搭建Git服务器