golang值类型
整形
类型 | 符号 | 范围 |
---|---|---|
uint8 | 无 | 0 到 255 |
uint16 | 无 | 0 到 65535 |
uint32 | 无 | 0 到 4294967295 |
uint64 | 无 | 0 到 18446744073709551615 |
uint | 无 | 32位操作系统上就是uint32 ,64位操作系统上就是uint64 |
int8 | 有 | -128 到 127 |
int16 | 有 | -32768 到 32767) |
int32 | 有 | -2147483648 到 2147483647 |
int64 | 有 | -9223372036854775808 到 9223372036854775807) |
int | 有 | 32位操作系统上就是int32 ,64位操作系统上就是int64 |
uintptr | 无 | 用于存放一个指针 |
1 2 3 | // 查看变量占用字节大小和数据类型 var n2 int64 = 10 fmt.Printf( "n2 的 类型 %T n2占用的字节数是 %d" , n2, unsafe.Sizeof(n2)) |
浮点类型
1 2 3 4 5 6 7 | const ( MaxFloat32 = 3.40282346638528859811704183484516925440e+38 // 2**127 * (2**24 - 1) / 2**23 SmallestNonzeroFloat32 = 1.401298464324817070923729583289916131280e-45 // 1 / 2**(127 - 1 + 23) MaxFloat64 = 1.797693134862315708145274237317043567981e+308 // 2**1023 * (2**53 - 1) / 2**52 SmallestNonzeroFloat64 = 4.940656458412465441765687928682213723651e-324 // 1 / 2**(1023 - 1 + 52) ) |
1 2 3 4 5 6 7 8 9 | package main import ( "fmt" "math" ) func main() { fmt.Printf( "%f\n" , math.Pi) fmt.Printf( "%.2f\n" , math.Pi) // 浮点数打印 } |
需要进行浮点计算时,可以使用放大 100 倍的整数计算,计算完成再将结果缩小 100 倍
复数
1 2 3 4 5 6 | var c1 complex64 c1 = 1 + 2i var c2 complex128 c2 = 2 + 3i fmt.Println(c1) fmt.Println(c2) |
布尔值
- 布尔类型变量的默认值为
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操作 |
byte和rune
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | // 遍历字符串 func traversalString() { s := "hello沙河" for i := 0; i < len(s); i++ { //byte fmt.Printf( "%v(%c) " , s[i], s[i]) } fmt.Println() for _, r := range s { //rune fmt.Printf( "%v(%c) " , r, r) } fmt.Println() }<br><br># 输出: 104(h) 101(e) 108(l) 108(l) 111(o) 230(æ) 178(²) 153() 230(æ) 178(²) 179(³) 104(h) 101(e) 108(l) 108(l) 111(o) 27801(沙) 27827(河) |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· 趁着过年的时候手搓了一个低代码框架
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· 乌龟冬眠箱湿度监控系统和AI辅助建议功能的实现