Golang学习笔记(3)---go语言变量、常量的定义及赋值

beyondlee2011 · · 1289 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

单个变量的赋值与声明

变量的声明格式: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)。

wKiom1fOYljzDVENAACHTptK-d0595.png-wh_50

所以如果我们要把65转换为 字符串“65”的话,就需要使用strconv这个包了。(strconv.Itoa)


wKiom1fOYlvjyIGSAADEKYqM6yU554.png-wh_50

而如果把字符串转换为int,那么就需要用(strconv.Atoi)

wKioL1fOYl2wTFIPAAC517D6q0s399.png-wh_50

注意:这里只能转换字符串型数字,类似“1”,“123”等。


常量的定义

- 常亮的值在编译时就已经确定

- 常量的定义格式与变量基本相同

- 等号右则必须是常量或者常量表达式

- 常量表达式的函数必须是内置函数


初始化规则与枚举

- 在定义常量组时,如果不提供初始值,则表示使用上一行的表达式(注意,如果上一行定义了两个常量,那么下一行也要定义两个常量才可以)

- 使用相同的表达式不代表具有相同的值

- iota是常量的计数器,从0开始,组中每定义1个常量自动递增1

- 通过初始化规则与iota可以达到枚举效果

- 每遇到一个const关键字,iota就会重置为0

wKiom1fOYl7iDsAuAAA2iCu6_cs895.png-wh_50

wKioL1fOYmDwhjp1AACQjF8jn8o623.png-wh_50

由于之前已经定义了两个常量(0,1)所以定义的c如果iota的话就是2了,直到遇到下一个const,才会被重置为0

wKiom1fOYmKTnYeCAACQ0ugUJb8834.png-wh_50

常量命名建议:建议都使用大写。如果不想让外部引用可以在前面添加c(const)或者_来区分


本文出自 “你的黑夜” 博客,请务必保留此出处http://lixin15.blog.51cto.com/3845983/1846837


有疑问加站长微信联系(非本文作者)

本文来自:51CTO博客

感谢作者:beyondlee2011

查看原文:Golang学习笔记(3)---go语言变量、常量的定义及赋值

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

1289 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传