go语言学习之路 二:变量
说道变量,首先应该提一提关键字,因为不能把关键字当做变量来声明。
关键字:
下面列出GO语言的关键字或保留字:
|
break |
default |
func |
interface |
select |
|
case |
defer |
go |
map |
struct |
|
chan |
else |
goto |
package |
switch |
|
const |
fallthrough |
if |
range |
type |
|
continue |
for |
import |
return |
var |
除了以上介绍的这些关键字,Go 语言还有 36 个预定义标识符,其中包含了基本类型的名称和一些基本的内置函数,见下表:
|
append |
bool |
byte |
cap |
close |
complex |
complex64 |
complex128 |
uint16 |
|
copy |
false |
float32 |
float64 |
imag |
int |
int8 |
int16 |
uint32 |
|
int32 |
int64 |
iota |
len |
make |
new |
nil |
panic |
uint64 |
|
|
println |
real |
recover |
string |
true |
uint |
uint8 |
uintptr |
这些关键字和保留字不需要特意去记,先走马观花看看,在以后的编程过程中会反复看到这些身影。
变量
声明变量的一般形式是使用 var 关键字:var identifier type。需要注意的是,Go 和许多编程语言不同,它在声明变量时将变量的类型放在变量的名称之后。
示例:
var a int
var b bool
var str string
或者可以写成这样:
var (
a int
b bool
str string
)
变量声明后会被自动初始化为该类型的零值,这一点和C语言是有差别的。
在变量的命名规则遵循骆驼命名法,也就是说单个单词小写,每个新的单词的首字母大写,例如:numShips 和 startDate。如果你的全局变量希望能够被外部包所使用,则需要将首个单词的首字母也大写。
全局变量:一个变量(常量、类型或函数)在程序中都有一定的作用域。如果一个变量在函数体外声明,则是全局变量,可以在整个包甚至外部包(被导出后)使用,不管你声明在哪个源文件里或在哪个源文件里调用该变量。
局部变量:它们的作用域只在函数体内,参数和返回值变量也是局部变量。函数体结束,该局部变量的生命周期也就结束了。一般情况下,局部变量的作用域可以通过代码块(用大括号括起来的部分)判断。
声明和赋值:
声明与赋值(初始化)语句组合起来。
示例:
var identifier [type] = value
var a int = 15
var b bool = false
如果你比较懒的话,再声明的同时赋值也可以这样写:
声明与赋值(初始化)语句也可以组合起来。
示例:
var a = 15
Var b = false
或者这样:
Var{
a = 15
B =false
}
最简洁的一种声明并赋值的写法是这样的:
a:=1
因为编译器是可以根据右边的值自动推断出你的变量的类型。变量部分比较简单,就说这么多吧
go语言学习之路 二:变量的更多相关文章
- 12天学好C语言——记录我的C语言学习之路(Day 11)
12天学好C语言--记录我的C语言学习之路 Day 11: 因为指针部分比较的难,所以我们花费的时间也是最长的,希望大家耐的住性子,多多理解,多多打代码.好了,废话不多说,来看第11天的学习. //编 ...
- 12天学好C语言——记录我的C语言学习之路(Day 9)
12天学好C语言--记录我的C语言学习之路 Day 9: 函数部分告一段落,但是我们并不是把函数完全放下,因为函数无处不在,我们今后的程序仍然会大量运用到函数 //转入指针部分的学习,了解指针是什么 ...
- 12天学好C语言——记录我的C语言学习之路(Day 8)
12天学好C语言--记录我的C语言学习之路 Day 8: 从今天开始,我们获得了C语言中很有力的一个工具,那就是函数.函数的魅力不仅于此,一个程序到最后都是由众多函数组成的,我们一定要用好函数,用熟练 ...
- 12天学好C语言——记录我的C语言学习之路(Day 6)
12天学好C语言--记录我的C语言学习之路 Day 6: 今天,我们要开始学习数组了. //①数组部分,数组的大小不能够动态定义.如下: //int n; scanf("%d,& ...
- 12天学好C语言——记录我的C语言学习之路(Day 3)
12天学好C语言--记录我的C语言学习之路 Day 3: 不知不觉到了第三天的学习,我们前两天学习的东西很杂乱,各个方面都有学习.我觉得这不是不系统,也不是学的不扎实,这种学习对于初学者而言我认为是很 ...
- 12天学好C语言——记录我的C语言学习之路(Day 2)
12天学好C语言--记录我的C语言学习之路 Day 2: 我建议大家每一天学习之前都仅凭记忆去敲前一天敲过的最后一个程序,或者敲前一天你认为最难最长的一个程序,如果一晚上的睡眠之后不看书还能敲的出来, ...
- 12天学好C语言——记录我的C语言学习之路(Day 12)
12天学好C语言--记录我的C语言学习之路 Day 12: 进入最后一天的学习,用这样一个程序来综合考量指针和字符串的关系,写完这个程序,你对字符串和指针的理解应该就不错了. //输入一个字符串,内有 ...
- 12天学好C语言——记录我的C语言学习之路(Day 10)
12天学好C语言--记录我的C语言学习之路 Day 10: 接着昨天的指针部分学习,有这么一个题目: //还是四个学生,四门成绩,只要有学生一门功课没及格就输出这个学生的所有成绩 /*//progra ...
- 12天学好C语言——记录我的C语言学习之路(Day 7)
12天学好C语言--记录我的C语言学习之路 Day 7: 昨天进行了一天的数组学习,今天大家可以先写几个昨天的程序热热身,回顾回顾,然后今天第一个新程序也是关于数组的,比较难,准备好就开始啦! //输 ...
随机推荐
- How To:Linux下如何通过命令检查网卡是否插上网线
主要工具为ethtool来检查,主要关注的字段为"Link detected",注意如下的输出,其中em4实际物理上并未插上网线,而em1是插上网线的: # ethtool em4 ...
- Fortran学习记录3(选择语句)
流程控制语句 if的基本用法 if-else语句块 多重判断if-elseif语句 if语句嵌套 Select case语句 Goto语句 PAUSE CONTINUE STOP 流程控制语句 if的 ...
- 【倍增】7.11fusion
非常奇妙的倍增题 题目描述 知名科学家小A在2118年在计算机上实现了模拟聚变的过程.我们将她研究的过程简化.核子共有26种,可以用a到z共26个字母表示.核子聚变的过程可以用一个字符串描述.按照顺序 ...
- Web框架之Django_01初识(三大主流web框架、Django安装、Django项目创建方式及其相关配置、Django基础三件套:HttpResponse、render、redirect)
摘要: Web框架概述 Django简介 Django项目创建 Django基础必备三件套(HttpResponse.render.redirect) 一.Web框架概述: Python三大主流Web ...
- DocView mode 0 -- 介绍
DocView mode,可作为主模式也可以作为minor mode,可以用来阅读DVI(ps后缀),PDF,OpenDocument(libreoffice文档),微软的doc.支持截取 ...
- saltstack管理八之常用执行模块
所有执行模块: http://docs.saltstack.cn/zh_CN/latest/ref/states/all/index.html 常用模块:cmd, cron, file, mount, ...
- 如何反馈问题issue?
如何反馈问题issue? 01,请提交的时候换位思考一下:如果别人给你提交一个这样的 Issue,你能快速准确的理解吗?如果不能,烦请重新整理你的语言,按照要求的格式填写.专业一点,减少不必要的口舌浪 ...
- 【29】html5新标签有哪些?
[29]html5新标签有哪些? canvas svg video audio [01]article(IE8不支持) [01]details [02]aside(IE8不支持) [03]header ...
- cobbler安装配置(二)
安装环境: 操作系统:CentOS 6.5 x86_64测试机器ip:192.168.0.1 关闭防火墙.selinux:service iptables stop && chkcon ...
- 九度oj 题目1029:魔咒词典
题目描述: 哈利波特在魔法学校的必修课之一就是学习魔咒.据说魔法世界有100000种不同的魔咒,哈利很难全部记住,但是为了对抗强敌,他必须在危急时刻能够调用任何一个需要的魔咒,所以他需要你的帮 ...