[GO]不同作用域的同名变量
package main
import "fmt"
var a byte //这是一个全局变量
func main() {
var a int //这是一个局部变量
//1、作用域不同,允许用户定义同名变量
//2、使用变量的原则 :就近原则
fmt.Printf("1: %T\n", a)
{
var a float32
fmt.Printf("2: %T\n", a)
}
test()
}
func test() {
fmt.Printf("3: %T\n", a) //因为这里跟其它的函数都不在一个作用域了,所以这里使用到的全局变量
}
运行得到结果为
GOROOT=C:\Go #gosetup GOPATH=E:\go\develop #gosetup C:\Go\bin\go.exe build -i -o C:\Users\baylor\AppData\Local\Temp\___go_build__go.exe E:/awesomeProject01/不同作用域的同名变量.go #gosetup "C:\Program Files\JetBrains\GoLand 2018.1.5\bin\runnerw.exe" C:\Users\baylor\AppData\Local\Temp\___go_build__go.exe #gosetup : int : float32 : uint8
[GO]不同作用域的同名变量的更多相关文章
- go语言基础之不同作用域同名变量
1.不同作用域同名变量 示例: package main import "fmt" var a byte //全局变量 func main() { var a int //局部变量 ...
- Js作用域链及变量作用域
要理解变量的作用域范围就得先理解作用域链 用var关键字声明一个变量时,就是为该变量所在的对象添加了一个属性. 作用域链:由于js的变量都是对象的属性,而该对象可能又是其它对象的属性,而所有的对象都是 ...
- JavaScript函数表达式、闭包、模仿块级作用域、私有变量
函数表达式是一种非常有用的技术,使用函数表达式可以无需对函数命名,从而实现动态编程.匿名函数,是一种强大的方式,一下总结了函数表达式的特点: 1.函数表达式不同于函数声明,函数声明要求有名字,但函数表 ...
- Objective-C之成魔之路【9-类构造方法和成员变量作用域、以及变量】
郝萌主倾心贡献,尊重作者的劳动成果.请勿转载. 假设文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额任意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源代码下载:点我传送 构造方法 ...
- javascript中函数的执行环境、作用域链、变量对象与活动对象
javascript高级程序设计中:对执行环境.作用域链.变量对象.活动对象的解释: 1.执行环境: 执行环境:有时也叫环境:是JavaScript中最为重要的一个概念:执行环境定义了变量或函数有权访 ...
- JavaScript面向对象—基本数据类型和引用数据类型的区别和变量及作用域(函数和变量)
基本类型和引用类型的值 ECMAScript 变量可能包含两种不同的数据类型的值:基本类型值和引用类型值. 基本类型值指的是那些保存在栈内存中的简单数据段,即这种值完全保存在内存中的一个位置. 而引用 ...
- JavaScript中的作用域以及this变量
原文:Scope and this in JavaScript 今天我想简单讨论下关于JavaScript的作用域和this变量."作用域"的概念就是说.我们的代码能够从哪里去訪问 ...
- javascript同名变量
我写个流程:在流程之前,必须写一下标识符是啥. 一句话,就是variable object的属性.而这个对象会被不同执行环境来决定. 比如全局环境下的variable object 就是 global ...
- ES6块级作用域及新变量声明(let)
很多语言中都有块级作用域,但JS没有,它使用var声明变量,以function来划分作用域,大括号“{}” 却限定不了var的作用域.用var声明的变量具有变量提升(declaration hoist ...
随机推荐
- Android Theme的使用
原文地址 http://www.cnblogs.com/Dentist/p/4369816.html Theme是一套UI控件和Activity的样式.可以给Application 和 activit ...
- mysql的账号管理
mysql的账号管理 最先匹配 user 表(包含:用户列 权限列 安全列 资源控制列)连接判断:host user password字段(user的授权是全局的): 然后匹配db表:如果只是给指定 ...
- JMS可靠性机制
1. 消息接收确认 JMS消息只有在被确认之后,才认为已经被成功的消费了,消息的成功消费通常包含三个阶段:客户接收消息,客户处理消息和消息被确认 在事务性会话中,当一个事务被提交的时候,确认自动发生. ...
- shell变量(字符串)间的连接
shell变量(字符串)间的连接 对于变量或者字符串的连接,shell提供了相当简单的做法,比string的连接还要直接. 直接放到一起或用双引号即可. 例如$a, $b,有 c=$a$b c=$a& ...
- NOIP2008普及组第3题 传球游戏
NOIP2008普及组第3题 传球游戏 时间限制: 1 Sec 内存限制: 128 MB提交: 29 解决: 16[提交][状态][讨论版][命题人:外部导入] 题目描述 上体育课的时候,小蛮的老 ...
- 面向对象银角大王补充2-self就是调用当前方法的对象-静态字段,公有属性-封装的理解-继承的理解,普通方法,静态方法
self是什么,就是一个函数,就是一个形式参数 4.self就是调用当前方法的对象 静态字段,公有属性 静态字段使用场景,每个对象中保存相同的东西时,可以使用静态字段,公有属性 5.封装的理解 类中封 ...
- python内置常用内置方法详解
# print(locals()) # print(globals()) def func(): x = 1 y = 1 print(locals()) # 函数内部的变量 print(globals ...
- 用一两句话说一下你对“盒模型”这个概念的理解,和它都涉及到哪些css属性
网页设计中常听的属性名:内容(content).填充(padding).边框(border).边界(margin), CSS盒子模式都具备这些属性. 这些属性我们可以用日常生活中的常见事物——盒子作一 ...
- IDA Pro 权威指南学习笔记(三) - IDA 桌面简介
IDA 的默认桌面如下图 工具栏区域(1)包含与 IDA 的常用操作对应的工具,可以使用 View -> Toolbar 显示或隐藏工具栏 可以使用 View -> Toolbars -& ...
- python's twenty_fourth day for me 内置方法
str repr: 1,当需要使用__str__的场景时找不到__str__就找__repr__ 2,当需要使用__repr__的场景时找不到__repr__的时候就找父类的repr. 3,双下re ...