关键词:
单个变量的赋值与声明
变量的声明格式:var <变量名称> <变量类型>
变量的赋值格式:<变量名称> = <表达式>
声明的同时赋值:var <变量名称> [变量类型] = <表达式>
<变量名> := <变量值> --->只能在函数体内使用
多个变量的复制与声明
全局变量的声明可以使用var()的方式简写
全局变量的声明不可以省略var,但可使用并行的方式
所有变量都可以使用类型推断
并行方式的声明:
var a,b,c,d int=1,2,3,4
函数体内:
a,b,c,d :=1,2,3,4
空白符
_ 使用空白符,来对某个返回值,进行忽略
变量的类型转换
Go中不存在隐式转换,所有类型转换必须显式声明 -->保证了go是一个类型安全的语言
转换只能发生在两种相互兼容的类型之间
格式为: <变量A> [:] type变量A (变量B)
var a float32 = 1.1 b := int(a) 由于浮点型到整型的转换只是一个精度的丢失,这种是可以进行转换的 var a bool = true b := int(a) 该表达式无法通过编译,因为类型不兼容,所以不能进行相互转换
注意:在对int型转换为string型时,string(),表示把变量a转换为string格式,因为计算机中存储的任何东西本质上都是由0和1表示的数字,因此此函数自然的认为我们需要的是用数字65表示的文本(A)。
所以如果我们要把65转换为 字符串“65”的话,就需要使用strconv这个包了。(strconv.Itoa)
而如果把字符串转换为int,那么就需要用(strconv.Atoi)
注意:这里只能转换字符串型数字,类似“1”,“123”等。
常量的定义
- 常亮的值在编译时就已经确定
- 常量的定义格式与变量基本相同
- 等号右则必须是常量或者常量表达式
- 常量表达式的函数必须是内置函数
初始化规则与枚举
- 在定义常量组时,如果不提供初始值,则表示使用上一行的表达式(注意,如果上一行定义了两个常量,那么下一行也要定义两个常量才可以)
- 使用相同的表达式不代表具有相同的值
- iota是常量的计数器,从0开始,组中每定义1个常量自动递增1
- 通过初始化规则与iota可以达到枚举效果
- 每遇到一个const关键字,iota就会重置为0
由于之前已经定义了两个常量(0,1)所以定义的c如果iota的话就是2了,直到遇到下一个const,才会被重置为0
常量命名建议:建议都使用大写。如果不想让外部引用可以在前面添加c(const)或者_来区分
本文出自 “你的黑夜” 博客,请务必保留此出处http://lixin15.blog.51cto.com/3845983/1846837
golang语言学习第二课:变量类型及常量与枚举(代码片段)
go语言的变量类型:bool(true为0,false不等于0),string int分好多种int,有点头晕,但用默认的int就足够了,根据机器判断,是32位的用int32,是64位的用int64.byte,又是uint8的别名。rune(类似char,但是是utf-8编码的char),又是int32的别名... 查看详情
go语言学习笔记—基础—基本语法—常量与变量—常量变量的声明:常量的初始化定义(代码片段)
常量是一个简单值的标识符,在程序运行时,不会被修改。常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。常量的初始化定义特点常量的值在编译时就已确定,可以用于数... 查看详情
go语言学习笔记—基础—基本语法—常量与变量—变量作用域:能够使用变量的代码范围(代码片段)
作用域是已声明标识符所表示的常量、变量、类型、函数或包在源代码中的作用范围。Go语言可以在三个地方声明变量:函数体内定义的变量,称为局部变量函数体外定义的变量,称为全局变量函数定义中的变量,... 查看详情
go学习golang底层学习笔记(代码片段)
1.1.1.Go编译词法与语法分析意义:解析源代码文件,将文件中字符串序列转换成Token序列把执行词法分析的程序称为词法解析器(lexer)语法解析的结果就是抽象语法树(AST)每个AST都对应一个单独的Go语言文件,这个抽象语法树中包括当前... 查看详情
go语言变量及常量的定义与使用
变量的定义与使用packagefib_testimport("fmt")//引入代码依赖funcTestFibList(t*testing.T){varaint=1varbint=1fmt.Print(a)fori:=0;i<5;i++{fmt.Print("",b)tmp:=aa=bb=tmp+a}fmt.Println()t.Log("finish.")}//交换两个变量的值funcTe 查看详情
golang学习笔记---go程序一般结构
Go程序是通过package来组织的(与python的库类似)只有package名称为main的包可以包涵main函数(同时main函数也是一个程序的入口)一个可执行程序有且仅有一个main包通过import关键字来引入其他非main包通过const关键字来进行常量的定... 查看详情
go语言学习--常量和变量
1.常量常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型定义格式: constidentifier[type]=value,[type]可以省略,编译器会根据变量的值推断其类型定义类型显式类型定义:constastring="bac"隐式类型定义... 查看详情
golang✔️走进go语言✔️第三课常量(代码片段)
【Golang】✔️走进Go语言✔️第三课常量概述常量常量计算iota概述Golang是一个跨平台的新生编程语言.今天小白就带大家一起携手走进Golang的世界.(第3课)常量常量(Constant)是指程序在执行过程中不会改变的固定值.常量可以是任何... 查看详情
go语言学习笔记—基础—基本语法—常量与变量—常量变量的声明:单个变量的声明与赋值(代码片段)
变量来源于数学,是计算机语言中储存计算结果或表示值的抽象概念,变量可以通过变量名访问。变量的功能是存储用户的数据。不同的逻辑有不同的对象类型,也就有不同的变量类型。经过半个多世纪的发展,... 查看详情
go语言学习笔记—基础—基本语法—常量与变量—常量变量的声明:常量的初始化规则与枚举(代码片段)
packagemainimport("fmt")//常量初始化const( a="A"//第一个常量必须显式指定表达式,a与b都为"A" b c,d=iota,iota//itoa从0计数,前面已有两个常量,其值为2 e,f//e、f的常量表达式为iota,其值为3 g= 查看详情
go语言学习笔记—基础—基本语法—常量与变量—变量的数值类型转换(代码片段)
go语言使用类型前置加括号的方式进行类型转换。格式若A是一个全新的类型,需要加:;若之前已经声明过A,则不需要加:。其中,TypeOfA代表要转换的类型,B包括变量、复杂算子和函数返回值等表达式。A[:]=... 查看详情
go语言学习笔记—基础—基本语法—常量与变量—常量变量的声明:变量初始化声明和变量赋值(代码片段)
变量声明出现了:expecteddeclaration,found‘IDENT’。变量声明的要点:=只能在函数体内部使用,只用来声明临时(局部)变量。不能用于声明函数体外的全局变量使用var关键字在函数体外部初始化全局变量,正... 查看详情
go语言学习笔记—基础—基本语法—常量与变量—常量变量的声明:多个变量的初始化声明与赋值(代码片段)
1.声明的方式多个变量声明与赋值//为类型相同的多个变量赋值varvname1,vname2,vname3typevname1,vname2,vname3=v1,v2,v3并行赋值varvname1,vname2,vname3type=v1,v2,v3自动类型推断//和python很像,不需要显示声明类型,自动推断varvname1,vname2... 查看详情
go语言学习笔记—基础—基本语法—常量与变量—变量的类型零值(代码片段)
类型零值当一个变量或者新值被创建时,如果没有为其明确指定初始值,go语言会自动初始化对应类型的零值。零值并不等于空值,而是当变量被声明为某种类型后的默认值。各类型零值如下:布尔型变量的默认... 查看详情
go语言学习笔记—基础—基本语法—常量与变量—变量的生命周期:堆(heap)
在给变量分配内存时,使用堆分配类似于向一个房间中摆放家具(为变量分配内存),家具的尺寸(变量所占内存地址空间)有大有小在摆放家具(分配内存)时,需要找一块足够大小的空间... 查看详情
golang学习入坑go语言结构及基本语法及基本类型
(一)GO的语言结构:Go语言的基础组成有以下几个部分:包声明引入包函数变量语句&表达式注释//所有的新语言都是以helloword开始packagemain//这个是包的声明你必须在源文件中非注释的第一行指明这个文件属于哪个包,如:pac... 查看详情
e01golang语言之变量和常量(代码片段)
标识符与关键字Ⅰ、标识符在编程语言中标识符就是程序员定义的具有特殊意义的词,比如变量名、常量名、函数名等等。Go语言中标识符由字母数字和_(下划线)组成,并且只能以字母和_开头。举几个例子:abc, _, _123,&n... 查看详情
go语言学习笔记—基础—基本语法—常量与变量—变量的生命周期:栈(stack)(代码片段)
栈是一种拥有特殊规则的线性表。1.概念栈的操作(入栈和出栈)和栈元素扩展栈只允许向线性表的一端放入数据,之后在同一端取出数据。按照后进先出(或先进后出)的顺序向栈中放入元素的过程叫入栈... 查看详情