您的位置:首页 > 编程语言 > Go语言

Go语言学习笔记之基本数据类型

2017-11-15 21:38 746 查看

数据类型

在Go语言中,大致有以下几种数据类型:

布尔类型(bool)

整型(int,int8,int16,int32,int64)

浮点型(float32,float64)

复数类型(complex64)

字符串(string)

字符类型(byte)

数组

数组切片

map

等等

布尔类型

定义布尔类型使用关键字
bool
,预定义值为
true
false


var v1 bool
v1 = true
v2 := (1 == 3)  // v2也会被推导为bool类型

// 错误用法
var b bool
b = 1
b = bool(1) // 编译错误


整型

类型长度值范围
int81-128 ~ 127
uint8(byte)10 ~ 255
int16232768 ~ 32767
uint1620 ~ 65535
int324-2147483648 ~ 2147483647
uint3240 ~ 4294967295
int648-9223372036854775808 ~ 9223372036854775807
uint6480 ~ 18446744073709551615
int平台相关平台相关
uint平台相关平台相关
uintptr同指针在32位平台上是4字节,64位平台上为8字节
整型参与赋值和运算时注意以下,

1. int 和 int32 在Go语言被认为是两种不同的类型,编译器也不会帮你自动做类型转换。

var v1 int32
v2 := 64
v1 = v2  // 编译错误


2.两个不同类型的整型数不能直接比较,比如int8类型数和int类型的数不能比较,但是各种类型的整型变量都可以直接与字面常量进行比较。

var (
i int32
j int64
)

i, j = 1, 2

if i == j {         // 此处会编译错误
fmt.Println("i = j")
}

if i == 1 || j == 3 {   // 此处可以编译通过
fmt.Println("success")
}


浮点型

在Go语言中定义了两个类型
float32
float64
,对于一个浮点类型常量,其类型被自动推导为
float64


var v1 float32
v2 := 12.0  // float64


字符串

在Go语言中,字符串也是一种基本类型。

var str string      // 声明一个字符串
str = "hello go"    // 字符串赋值
ch := str[0]        // 取字符串的第一个字符


字符串常用操作

1、字符串连接,使用
+
符号


var start, end string
start = "hello "
end = "go"
con := start + end
fmt.Println(con)        // 输出 hello go


2、获取字符串长度,使用
len()
函数。


var str string = "hello GO语言"
len(str)    // 14 因为中文字符在utf-8上占用3个字节长度。所以是14个


3、获取字符串字符,使用
s[i]
形式。


字符类型

在Go语言中支持两种字符类型,一个是
byte
(uint8别名),代表UTF-8字符串的单个字节的值,另一个是
rune
,代表单个Unicode字符。Go语言多数API都假设字符串为UTF-8编码。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  go语言