Go 基本数据类型

GO 的数据类型分为四大类:基础类型(basic type),聚合类型(aggregate type),引用类型(reference type),接口类型(interface type)。

下面讲的是基础类型:number,string, bool。其它的会在后面的博客涉及到

1.1 整数

有符号整数:

int8
int16
int32
int64

无符号整数

uint8
uint16
uint32
uint64

此外还有两种类型 int,uint。在特定平台上,其大小与原生的有符号整数/无符号整数相同;这两种类型大小相同,都是32或者64位,具体看编译器。

最后还有一种无符号整数 uintptr ,其大小并不明确,但是足以完整存放指针。uintptr 类型仅仅用于底层编程。例如Go程序和C程序库或者操作系统接口界面。

1.2 浮点数

float32
float64

1.3 复数

complex64 由float32组成
complex128 由float64组成
内置的complex函数根据给定的实部和虚部创建复数
而内置的real函数和imag函数则分别提取复数的实部和虚部

var x complex128 = complex(1,2)  //1+2i
var y complex128 = complex(3,4)  //3+4i

fmt.Println(x*y) // "(-5 + 10i)"
fmt.Println(real(x*y)) //"-1"
fmt.Println(imag(x*y)) //"10"

也可以直接写出复数

x := 1 + 2i

1.4 布尔值

    bool 类型的值只有两种:true,false。
    布尔值无法隐式的转换成数值(0或1),反之也不行。

1.5 字符串

    字符串是不可变的字节序列,它可以包含任意数据,包括0值字节,但是主要还是为了人可读的文本。
    内置的 len()函数返回字符串的字节数。下标访问操作 s[i] 则读取得到字符。 其中 0 <= i <= len(s).
s := "hello"
fmt.Println(len(s))  // 12
fmt.Println(s[0],s[7]) // 104 119  ('h' 'w')

如果越界访问,就会发生宕机异常。

//左闭右开
fmt.Println(a[:5]) //"hello"
fmt.Println(a[7:])

加号(+) 运算符连接两个字符串而生成一个新字符串:

s := "hello"
t := s
s += ",world"

fmt.Println(s)  //hello, world
fmt.Println(t)  // hello

因为字符串不可改变,所以字符串内部的数据不可修改

s[0] = ‘l’ //编译错误:s[0] 无法赋值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值