Golang的基本数据类型有 string、bool、int、float等外 还有 数组、切片、结构体、map、函数、通道(channel)
整形
整形为两个大类,int和uint,按长度分int又有 int8、int16、int32、uint 对应无符号分为uint8、uint16、uint32
类型
描述
uint8
无符号 8位整型 (0 到 255)
uint16
无符号 16位整型 (0 到 65535)
uint32
无符号 32位整型 (0 到 4294967295)
uint64
无符号 64位整型 (0 到 18446744073709551615)
int8
有符号 8位整型 (-128 到 127)
int16
有符号 16位整型 (-32768 到 32767)
int32
有符号 32位整型 (-2147483648 到 2147483647)
int64
有符号 64位整型 (-9223372036854775808 到 9223372036854775807)
浮点型
主要为了表示小数、也可细分float32和float64两种、float64提供比float32更高的精度
取值范围
类型
最大值
最小非负数
float32
3.402823466385288598117041834516925440e
+38
1.401298464324817070923729583289916131280e
-45
float64
1.797693134862315708145274237317043567981e
+308
4.940656458412465441765687928682213723651e
-324
布尔值
这个就语言之间比较统一了,分为true 和 false。
默认值为false、布尔值无法参与数值运算,无法与其他类型互转。
字符串
用双引号""或者``反引号来表示字符串,注意单引号不可以,go语言中单引号表示rune
var num string = `晚风`
name2 := "晚风啊"
//如果需要定义多行字符串的话 就需要反引号
var name string = `
卡萨的风景阿里斯顿减肥啦睡觉的
阿迪沙发上的减肥啦睡觉地方是否
`
字符串转意
Go 语言的字符串常见转义符包含回车、换行、单双引号、制表符等,如下表所示。
转义符
含义
\r
回车符(返回行首)
\n
换行符(直接跳到下一行的同列位置)
\t
制表符
\'
单引号
\"
双引号
\\
反斜杠
字符串常用操作
len() 获取字符串长度
var name string = "晚风"
fmt.Println(len(name))
字符串拼接
+号
name := "晚风"+"喜欢"
like := "钱"
fmt.Println(name+like)
fmt.Sprintf()
y := "2021"
m := "5"
text := fmt.Sprintf("今天是%d年%d月",y,m)
字符串分割 strings.Split()
str := "1,2,3,4,5"
text := strings.Split(str,",")
fmt.Println(text)
name:="12kslf,ewewe"
//判断字符串中是否包含某个值 返回布尔值
fmt.Println(strings.Contains(name,","))
//判断前缀
fmt.Println(strings.HasPrefix(name,"12"))
//判断后缀
fmt.Println(strings.HasSuffix(name,"we"))
//判断某个字符出现的位置
fmt.Println(strings.Index(name,"k"))
//拼接字符串
a := "hahaha"
b := "hehehe"
c := strings.Join([]string{a,b},",")
fmt.Println(c)
字符串的常用操作
方法
介绍
len(str)
求长度
+或fmt.Sprintf
拼接字符串
strings.Split
分割
strings.contains
判断是否包含
strings.HasPrefix,strings.HasSuffix
前缀/后缀判断
strings.Index(),strings.LastIndex()
子串出现的位置
strings.Join(a[]string, sep string)
join操作