今天给大家分享下GoLang的变量声明和基础数据类型介绍。
Go 语言是强类型静态语言,所以变量声明与赋值方式与 PHP 相比有很大的区别。
变量声明
Go 语言引入了关键字 var,并且将类型信息放在变量名之后,此外,变量声明语句不需要使用分号作为结束符(Go 语句都不需要分号作为结束符,这一点和 JavaScript 很像,其实这些工作都将由 Go 编译器自动完成,如果你打算将多个语句写在同一行,它们则必须使用 ; 人为区分),比如我们要声明一个类型为 int 的变量 a ,示例如下:
var a int
PHP是动态类型语言,变量在声明时没有类型定义,变量类型是在运行时动态判断的,PHP是以 $ 符号作为变量的前缀,后面跟着变量名称,变量名必须以字母或者下划线开始,例如:
$a = “Hello, Kevin”;
Go 语言的 var 关键字可以将多个需要声明的变量放在一起,避免重复写 var 关键字,如下所示:
需要注意的是,变量在声明之后,系统会自动将变量初始化为对应类型的零值。比如 a 的值为 0 ,b 的值为空字符串, c 的值为false。
Go的变量初始化有以下几种方式:
var a int = 10
var a = 10
a := 10 // 省略var关键字的短声明,开发中很方便
常量通过关键字 const 定义,可以指定常量类型也可以忽略(程序会自动推导),定义方式如下:
const Pi float64 = 3.1415926
const (
high int64 = 1024
low = -1
)
基础数据类型
Go语言支持以下这些基础数据类型:
布尔类型:bool
整型:int8、byte、int16、int、uint、int32、int64
浮点类型:float32、float64
复数类型:complex64、complex128
字符串:string
字符类型:rune
错误类型:error
此外,Go语言还支持以下这些复合类型:slice(切片)、pointer(指针)、array(数组)、map(字典)、chan(通道)、struct(结构体)、interface(接口);PHP并不支持指针、切片、结构体PHP通过 array “走遍天下”!
其中Go语言的通道类型主要用于并发编程,并且还把interface接口作为一个类型提出来。
今天作为抛砖引玉简单介绍下Go语言的变量声明和数据类型有哪些,后面会系统介绍下每种类型的使用和介绍,不足之处请指正!