Go-变量-var
什么是变量?
一种抽象,计算机用来保存现实数据的容器,通过这个变量抽象可以写入现实数据到计算机中,并且可以读取变量取到保存到计算机中的现实数字化数据
Go-变量定义
关键字 var
关键符号 :=
import "fmt"
var country = "China"
func main() {
var name = "beimenchuixue"
var (
age = 18
school = "huGong"
)
work := "student"
fmt.Println(name, age, school, work)
}
观察发现,有以下特性
1. 定义变量类型的时候,大多数情况下不要写变量类型,Go解释器会自动推断,特殊情况还是要加上变量类型
2. 每句语句后面都没有分号,但是解释器在编译的时候会自动加上
3. 定义包变量的时候只能使用 var方式定义,不能使用 := 方式
4. := 解释器会解释为两步,先var声明类型,然后再赋值
5. 包变量可以不使用不报错,函数变量必须使用,但我们可以通过 _ 来忽略某个不想要的变量
6. 定义多个变量的时候通过 var() 方式
7. Go定义变量时候,变量名在前,变量类型在后,这和其他语言变量定义风格相反
Go-变量类型 8bit=1byte
有符号整形 int8,16,32,64
无符号整形 uint8,16,32,64
浮点数 float32,64
布尔型 bool
复数 complex64,128
字符串 string 双引号
单个字节字符 byte 单引号
单个字符 rune 单引号
错误类型 error
Go-命名规范
1. 遵循C语言命名规范,不能以数字开头,以大小写字母、下划线、数字组成
2. 不能是关键字,不推荐使用内置函数名
3. 首字母大写表示包外可以访问,首字母小写表示包外不可访问
4. 以首字母大写区分不同单词
5. 变量名、函数名、结构体名、接口名都遵守以上规范
Go变声明时候会给初始值
1. 数字类型 int float byte rune 为 0
2. string 为空字符串
3. complex 为 (0+0i)
4. bool类型问 false
5. error类型为 <nil>
package main
import "fmt"
func main() {
var a int8
var b int64
var c float32
var d float64
var e bool
var f complex64
var g string
var h byte
var j rune
var k error
fmt.Println(a, b, c, d, e, f, g, h, j, k)
}
以上这些基础数据类型,只能满足存放一个数据的需求
Go变量作用域(生命范围)
1. 定义在和 package import关键字同级,为包变量,作用于包全局,包内可以访问并可以直接修改
package main
import "fmt"
var country = "China"
func PrintCountry() {
fmt.Println(country)
country = "Russia"
}
func main() {
PrintCountry()
fmt.Println(country)
country = "American"
fmt.Println(country)
}
2. 定义在函数内,为函数变量,作用于这个函数,函数内可以访问,函数外不可访问并且失效
package main
import "fmt"
func PrintCountry() {
var country = "China"
fmt.Println(country)
}
func main() {
PrintCountry()
}
3. 定义在循环分支中,为循环分支变量,只能循环分支中可以访问,出循环分支外不可访问并且失效
package main
import "fmt"
func Count() {
start := 0
for i := 0; i<=100 ; i ++ {
start = i
fmt.Println(start)
}
fmt.Println(start)
//fmt.Println(i)
}
func main() {
Count()
}
4. 形式上看,每对 {}形成一个作用域,都可以很轻松修改掉能访问到的外部作用域变量并做出修改,但是外部作用域不能访问内部作用域变量
Go-变量-var的更多相关文章
- 了解CSS/CSS3原生变量var
一.变量是个好东西 在任何语言中,变量的有一点作用都是一样的,那就是可以降低维护成本,附带还有更高性能,文件更高压缩率的好处. 随着CSS预编译工具Sass/Less/Stylus的关注和逐渐流行,C ...
- C#中隐式类型本地变量var
在新接触的项目中,看到很多声明变量时用var.只记得在javascript中声明变量用var.今天在家里看C#和.Net高级编程,看到隐式变量这一块,就总结一下C# 中隐式变量var的用法. 1.C# ...
- CSS/CSS3中的原生变量var详解以及布局响应式网页扩展
使用语法 首先我们先来看一个例子:html代码: <div class="element">这是一段文字</div> css代码: .element { w ...
- 了解CSS/CSS3原生变量var (转)
一.变量是个好东西 在任何语言中,变量的有一点作用都是一样的,那就是可以降低维护成本,附带还有更高性能,文件更高压缩率的好处. 随着CSS预编译工具Sass/Less/Stylus的关注和逐渐流行,C ...
- css原生变量var()
了解css/css3原生变量var 阮一峰css变量教程 深入学习css自定义属性(css变量)
- css原生变量 var
css 变量的支持情况: 在pc端支持还不错,ie不支持,移动端也不支持,大概这就是css变量没有广泛使用的原因吧 CSS预编译工具Sass/Less/Stylus的便捷之处就是可以定义变量,方便代码 ...
- Swift学习——变量var和let常量的用法(一)
Swift中的变量var和let常量 首先介绍一下Swift中的 var 和 let (1)var 是 variable的缩写形式,是变量的意思 ,是可改变的.并非数据类型 比如: 注意每一个语句后面 ...
- 2、变量var关键字
我们在看js声明变量的时候,经常会发现有的变量前会带var 但又的则没有,那么这究竟有什么区别呢? 如果这种情况发生在函数里的话, 加var定义的变量是局部变量,不加var定义的就成了全局变量. // ...
- css预编译语言 sass scss(变量$var, css嵌套规则,@import规则,@extend,@mixin)
什么是sass Sass 是对 CSS 的扩展,让 CSS 语言更强大.优雅. 它允许你使用变量.嵌套规则. mixins.导入等众多功能, 并且完全兼容 CSS 语法. Sass 有助于保持大型样式 ...
- 变量 var &函数new
声明变量 变量:变量是存储信息的容器,创建变量通常称为"声明"变量 变量必须以字母开头(小驼峰式myName): 变量也能以 $ 和 _ 符号开头(不过我们不推荐这么做): 变量名 ...
随机推荐
- 分享一个操作pdf文件的js文件-pdfObject.js(文件预览、下载、打印等操作都具备)
获取相关资料或者源码的朋友可以关注下公众号,回复关键字pdf20200518即可
- 手写迷你Tomcat
手写迷你Tomcat手写迷你Tomcat手写迷你Tomcat手写迷你Tomcat手写迷你Tomcat手写迷你Tomcat手写迷你Tomcat手写迷你Tomcat手写迷你Tomcat手写迷你Tomcat ...
- Python Selenium 之数据驱动测试的实现
数据驱动模式的测试好处相比普通模式的测试就显而易见了吧!使用数据驱动的模式,可以根据业务分解测试数据,只需定义变量,使用外部或者自定义的数据使其参数化,从而避免了使用之前测试脚本中固定的数据.可以将测 ...
- 总结java创建文件夹的4种方法及其优缺点-JAVA IO基础总结第三篇
本文是Java IO总结系列篇的第3篇,前篇的访问地址如下: 总结java中创建并写文件的5种方式-JAVA IO基础总结第一篇 总结java从文件中读取数据的6种方法-JAVA IO基础总结第二篇 ...
- Asp.Net WebAPI的简介及创建
一.WebAPI简介 ASP.NET Web API 是一种框架,用于轻松构建可以由多种客户端(包括浏览器和移动设备)访问的 HTTP 服务.ASP.NET Web API 是一种用于在 .NET F ...
- Labview学习之路(七)for和while的理论要点
for循环 循环次数可以为0(N的接线端为) 终止条件:1. 完成N次循环. 2. 添加条件接线端,就像while循环的红点一样,(方法,右键点击边框,添加条件接线端) 数组通过自动索引接入 ...
- laravel在视图中使用类似于“__PUBLIC__”,“__UPLOADS__”的操作
首先在config文件夹下建立static.php文件 然后在里面定义常量 例: <?php define('__PUBLIC__', '/'); define('__UPLOADS__', ' ...
- 虚拟机安装:VirtualBox上安装Ubuntu
在Win10 中使用VirtualBox安装Ubuntu 本教程将指引读者在Windows10操作系统下使用开源虚拟机软件VirtualBox安装Ubuntu,读者也可以使用其他虚拟机VMware W ...
- AppStore SDK
ios审核被拒4.3 http://www.cocoachina.com/bbs/read.php?tid-1731757.html ios审核4.3被拒? 别担心 这几步让你的 App 顺利过审 h ...
- android Studio(3.2.1) NDK配置
1.创建as工程 2. 创建class类 3. 生成头文件 3.1 配置命令工具 添加工具: 配置工具: Program: $JDKPath$\bin\javah.exe Arugments:-d j ...