导读:本文主要介绍Go使用的关键字,语法和格式上与java的区别,Go数值类型,运算符和大家喜闻乐见的字符串类型。
3 Go基础
简洁编程哲学已经深入到三位老司机的骨髓,所以Go在不损失性能的情况下,处处提出了简洁的设计,它只有25个关键字。
break default func interface selectcase defer go map structchan else goto package switchconst fallthrough if range typecontinue for import return var
我们将在后续的学习中慢慢体会这些关键字。
3.1 我们用java和Go做个比较,两者的一些不同的地方:
3.1.1 java变量的应用范围通过 public private protect,Go通过大小写来区分,大写表示共有,外部可以使用,小写只能在内部使用;
3.1.2 java必须以“;”结束语句,Go可以省略;
3.1.3 java的花括号{}不限定接末尾还是另起一行,Go必须是接末尾,否则编译报错;
3.1.4 java可以定义不使用的变量,Go不允许定义了变量而不使用它;
3.2变量定义
java的变量定义,格式严格,类型明确,如:
Go定义的标准形式如下:
还可以有更懒的写法,使用“:=”,Go会根据赋值自动给改变量定义类型;
3.3 常量定义
常量是编译阶段就确定的值,且无法改变。
java的定义一般如下:
Go使用关键字const
3.4 基础类型
3.4.1 布尔类型
关键字bool
3.4.2 数值类型
关键字和长度如表所示:
关键字 | 长度 |
uint8 | 0 to 255 |
uint16 | 0 to 65535 |
uint32 | 0 to 4294967295 |
uint64 | 0 to 18446744073709551615 |
int8 | -128 to 127 |
int16 | -32768 to 32767 |
int32 | -2147483648 to 2147483647 |
int64 | -9223372036854775808 to 9223372036854775807 |
float32 | 32位浮点数 |
float64 | 64位浮点数 |
complex64 | 32位复数 |
complex128 | 64位复数 |
byte | 类似unit8 |
rune | 类似unit32 |
几点需要注意的地方:
1 不同类型不能进行赋值运算,即使都是等长;
2 byte 类型 变量 可以 和 unit8 类型 变量进行运算;
3.4.3 运算符
3.4.3.1 算数运算符 +, -, *, / ,%(求余), ++, --,跟我们熟悉的java运算符并无二致;
3.4.3.2 关系运算符 ==,!=, >, <, >=, <=;
3.4.3.3 逻辑运算符 &&,||,!;
3.4.3.4 位运算符 &,|,^;
3.4.4 字符串类型
关键字string,几个特点:
1 一旦初始化,不可更改,更深入地讲,字符串是字节的定长数组;
2 一定要更改,需要先转化为byte数组类型,修改后再转为string类型;
3 原样输出字符串定义符“
`”,参考变量m的赋值方式;
结果如下:
Have Fun!