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
因为编译器是可以根据右边的值自动推断出你的变量的类型。变量部分比较简单,就说这么多吧