七叶笔记 » golang编程 » PHPer初窥Golang之基础数据类型

PHPer初窥Golang之基础数据类型

今天给大家分享下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语言的变量声明和数据类型有哪些,后面会系统介绍下每种类型的使用和介绍,不足之处请指正!

相关文章