GO语言学习(三)---数据类型、变量、常量

本文详细介绍了Go语言中的数据类型,包括布尔型、数字类型(整型、浮点型、复数)、字符类型等,并解释了变量声明的不同方式及常量的使用方法。

数据类型

1 布尔型

布尔型的值只可以是常量 true 或者 false。一个简单的例子:var b bool = true。

2 数字类型

整型 int 和浮点型 float32、float64,Go 语言支持整型和浮点型数字,并且原生支持复数,其中位的运算采用补码。
整型

序号类型描述
1uint8无符号 8 位整型 (0 到 255)
2uint16无符号 16 位整型 (0 到 65535)
3uint32无符号 32 位整型 (0 到 4294967295)
4uint64无符号 64 位整型 (0 到 18446744073709551615)
5int8有符号 8 位整型 (-128 到 127)
6int16有符号 16 位整型 (-32768 到 32767)
7int32有符号 32 位整型 (-2147483648 到 2147483647)
8int64有符号 64 位整型 (-9223372036854775808 到 9223372036854775807)

浮点型

序号类型描述
1float32IEEE-754 32位浮点型数
2float64IEEE-754 64位浮点型数
3complex6432 位实数和虚数
4complex12864 位实数和虚数

其他数字类型

序号类型描述
1byte类似uint8
2rune类似int32
3uint32或64位
4int与uint一样大小
5uintptr无符号整型,用于存放一个指针

变量

1 变量声明方式有三种

(1)指定变量类型,声明后若不赋值,则使用默认值
var v_name v_type
v_name = value
(2)不指定变量类型,声明后赋值,go语言会自动判断数据类型
var v_name = value
(3)省略var关键字,声明的时候要赋值,使用:=声明和赋值。注意:=号左边的变量不能是已经声明过的变量
v_name := value
第三种变量声明方式只能用在函数体内,不能用于全局变量。使用:=操作符可以高效的创建一个新的变量。
(4)多变量声明,使用逗号隔开
var v_name1 , v_name2
var v_name1 , v_name2 = 1, 2

常量

常量是一个简单值的标识符,在程序运行时,不会被修改的量。
常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。
常量的定义格式:

const identifier [type] = value

你可以省略类型说明符 [type],因为编译器可以根据变量的值来推断其类型。

const b string = "abc" //显式类型定义
const b = "abc" //隐式类型定义

多个相同类型的声明可以简写为:

const c_name1, c_name2 = value1, value2

常量还可以用作枚举:

const (
    Unknown = 0
    Female = 1
    Male = 2
)

数字 0、1 和 2 分别代表未知性别、女性和男性。
常量可以用len(), cap(), unsafe.Sizeof()函数计算表达式的值。常量表达式中,函数必须是内置函数,否则编译不过。

iota
特殊常量,可以认为是一个可以被编译器修改的常量。
在每一个const关键字出现时,被重置为0。
然后再下一个const出现之前,每个常量都会将iota加1,,不管它是什么类型。

const (
    a = iota   //0 
    b          //1
    c          //2
    d = "ha"   //独立值,iota += 1
    e          //"ha"   iota += 1
    f = 100    //iota +=1
    g          //100  iota +=1
    h = iota   //7,恢复计数
    i          //8
    )
const (
    j = iota  //0.重新开始从0计数
    k         //1
)

参考

[1]http://www.runoob.com/go/go-data-types.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值