Go基础学习-数据类型

整型

uint8	无符号 8位整型 (0255) //即是byte
uint16	无符号 16位整型 (065535)
uint32	无符号 32位整型 (04294967295)
uint64	无符号 64位整型 (018446744073709551615)
int8	有符号 8位整型 (-128127)
int16	有符号 16位整型 (-3276832767)
int32	有符号 32位整型 (-21474836482147483647)
int64	有符号 64位整型 (-92233720368547758089223372036854775807)
  • uint8即是的byte型
  • int16对应C语言中的short型
  • int64对应C语言中的long型
  • uint和int:具体是32位还是64位看操作系统:操作系统上就是uint32/int32,64位操作系统上就是uint64/int64
  • uintptr:表示指针;无符号整型,用于存放一个指针

浮点型

  • Go支持两种浮点型数:float32和float64,这两种浮点型数据格式遵循IEEE 754标准
  • float32 的浮点数的最大范围约为 3.4e38,可以使用常量定义:math.MaxFloat32。
  • float64 的浮点数的最大范围约为 1.8e308,可以使用一个常量定义:math.MaxFloat64。
  • 默认是float64

复数

  • 有两种complex64、complex128(科学运算会用到)
  • 复数有实部和虚部,complex64的实部和虚部为32位,complex128的实部和虚部为64位。

布尔值

  • true、false
  • 默认值为false
  • go中布尔值无法与其他类型进行转换

字符串

/*
//常见转义符
\r	回车符(返回行首)
\n	换行符(直接跳到下一行的同列位置)
\t	制表符
\'	单引号
\"	双引号
\\	反斜杠
*/

/*
//字符串的常用操作
len(str)	//求长度
+或fmt.Sprintf	//拼接字符串
strings.Split	//分割
strings.contains	//判断是否包含
strings.HasPrefix,strings.HasSuffix	//前缀/后缀判断
strings.Index(),strings.LastIndex()	//子串出现的位置
strings.Join(a[]string, sep string)	//join操作
*/

//示例
s := "hello/wzb"
fmt.Println(len(s))          //字符串长度
ret := strings.Split(s, "/") //字符串分割
fmt.Println(ret)
fmt.Printf("%T\n", ret)
fmt.Println(strings.Contains(s, "wzb")) //包含
fmt.Println(strings.HasPrefix(s, "h"))  //前缀
fmt.Println(strings.HasSuffix(s, "h"))  //后缀
sIndex := "adfadfwett"
fmt.Println(strings.Index(sIndex, "a")) //查找index
fmt.Println(strings.Join(ret, "+"))     //拼接
/*
//Go 语言的字符类型有两种:byte和rune
- uint8类型即byte 型,代表了ASCII码的一个字符。
- rune类型,代表一个 UTF-8字符。
*/
//字符串中拿出具体的字符
strRune := "hello铁柱你好안녕하세요."
for _, c := range strRune {
	fmt.Printf("%c\n", c)
}
//字符串修改
s1 := "黑猫"
s2 := []rune(s1) //1.将字符串转换为一个rune切片
s2[0] = '白'      //2。修改的话必须用单引号 因为装换位rune后所有的选择都是字符
fmt.Println(s2)
fmt.Println(string(s2)) //把切片强制转换为字符串
  • 使用UTF-8编码
  • 字符串的值为双引号("“)中的内容,单引号(‘’)中表示字符,通过遍历或者单个获取字符串元素获得字符
  • 当需要处理中文、日文或者其他复合字符时,则需要用到rune类型。rune类型实际是一个int32。
  • 字符串底层是一个byte数组,所以可以和[]byte类型相互转换
  • 字符串不能修改的,除非先将其转换成[]rune或[]byte,完成后再转换为string
  • 由于字符串是由byte字节组成,所以字符串的长度是byte字节的长度
  • rune类型用来表示utf8字符,一个rune字符由一个或多个byte组成。所以在遍历中文或者其他复合字符时得使用range,不能使用len来for遍历
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值