Go 事,Gopher 要学的数字类型,变量,常量,运算符 ,第2篇(google)

网友投稿 325 2022-08-22


Go 事,Gopher 要学的数字类型,变量,常量,运算符 ,第2篇(google)

学习前的铺垫

如果一门语言是动态语言,那数据类型不是很重要,但当待学习的语言是静态语言时,数据类型的重要性就凸显出来了,而且必须作为必备只是进行学习。

因为有其它语言的基础,所以直接学习 Go 中的各类型即可。

Go 数字类型

数字类型分为三种,即整型,浮点型和其它数字类型,其中整型又分为:

uint8:无符号 8 位; uint16:无符号 16 位; uint32:无符号 32 位; uint64:无符号 64 位; int8:有符号; int16:有符号; int32:有符号; int64:有符号。

浮点类型,包含两种,分别是 float32,float64,还有 complex64 和 complex128。

其它数字类型说明如下:

byte:与无符号 int,即 int8 类似; rune:无符号 int32 类似; uint:32 位或者 64 位; int:与 unit 类似; uintptr:无符号整数。

以上都是数字类型,除此之外还有更多内容,都将在后文重点学习。

Go 变量

首先,可以一次申请多个变量:

var bianliang,bianlaing type

参考下述测试代码:

package main import "fmt" func main() { var a string = "梦想橡皮擦" fmt.Println(a) var b, c int = 1, 2 fmt.Println(b, c) }

目前你仅学习了数字类型,所有数字类型的零值,都是 0。

package main import "fmt" func main() { var a, b = 1, 2 fmt.Println(a, b) }

系统自动推断变量类型。

name := "梦想橡皮擦"

package main import "fmt" func main() { b := 3 fmt.Println("不使用 b") }

并行/同时赋值

在 Go 中,可以同时对多个变量赋值,测试代码如下所示。

package main import "fmt" func main() { a, b, c := 3, 2, 1 fmt.Println(a, b, c) }

相应的如果希望交换两个变量值,也可以像 Python 一样,直接进行交换。

a,b = b,a

这里先认识一个特殊的符号,_ 空白标识符,该变量可以用于抛弃值,例如下述代码。

_,b = 1,2

_, b := 1, 2 _, a := 1, 2

Go 常量

常量就是不可被修改的变量,Go 常量支持的数据类型有布尔型,数字型,字符串型,定义语法格式是:

const bianliang [type] = value

const name,my_str = "橡皮擦","一个普通的字符串"

Go 中有一个特殊常量 iota,是一个可以被编译器修改的常量。

Go 运算符

运算符知识点在任何语言都中非常类似,一元的有:+,-,*,/,%,++,--,在 Python 中不见的自增和自减操作符又重新出现了。

上述操作符一般叫做算数运算符,除此之外还有关系运算符,即大于小于等内容。

逻辑操作符也是三个,分别是 逻辑与 &&,逻辑或 ||,逻辑非 !。

位运算符可以先略过,后续用到在考虑复习一下。

在接下来就是赋值运算符,即与 = 号相关的运算符,也是通用知识点,直接掌握了。

重点要说明的是下述两个特殊运算符,这里与 C 语言同源,即 & 取地符,* 指针变量标记。

func main() { _, b := 1, 2 // _, a := 1, 2 fmt.Println("变量 b 的地址是", &b) }

_, b := 1, 2 var ptr *int // 赋值 ptr = &b

今天的最后一个知识点是运算符的优先级,如果你有其它语言基础,这部分自动忽略即可。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:spring IOC控制反转原理详解
下一篇:python基础知识(python基础选择题)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~