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 | <span class= "com" > // 查看变量占用字节大小和数据类型</span><span class="pln"> </span><span class= "kwd" > var </span><span class= "pln" > n2 int64 </span><span class= "pun" >=</span><span class= "pln" > </span><span class= "lit" >10</span><span class= "pln" > fmt</span><span class= "pun" >.</span><span class= "typ" >Printf</span><span class= "pun" >(</span><span class= "str" > "n2 的 类型 %T n2占用的字节数是 %d" </span><span class= "pun" >,</span><span class= "pln" > n2</span><span class= "pun" >,</span><span class= "pln" > </span><span class= "kwd" >unsafe</span><span class= "pun" >.</span><span class= "typ" >Sizeof</span><span class= "pun" >(</span><span class= "pln" >n2</span><span class= "pun" >))</span> |
浮点类型
1 2 3 4 5 6 7 | <span class= "kwd" > const </span><span class= "pln" > </span><span class= "pun" >(</span><span class= "pln" > </span><span class= "typ" >MaxFloat32</span><span class= "pln" > </span><span class= "pun" >=</span><span class= "pln" > </span><span class= "lit" >3.40282346638528859811704183484516925440e+38</span><span class= "pln" > </span><span class= "com" > // 2**127 * (2**24 - 1) / 2**23</span><span class="pln"> </span><span class= "typ" >SmallestNonzeroFloat32</span><span class= "pln" > </span><span class= "pun" >=</span><span class= "pln" > </span><span class= "lit" >1.401298464324817070923729583289916131280e-45</span><span class= "pln" > </span><span class= "com" > // 1 / 2**(127 - 1 + 23)</span><span class="pln"> </span><span class= "typ" >MaxFloat64</span><span class= "pln" > </span><span class= "pun" >=</span><span class= "pln" > </span><span class= "lit" >1.797693134862315708145274237317043567981e+308</span><span class= "pln" > </span><span class= "com" > // 2**1023 * (2**53 - 1) / 2**52</span><span class="pln"> </span><span class= "typ" >SmallestNonzeroFloat64</span><span class= "pln" > </span><span class= "pun" >=</span><span class= "pln" > </span><span class= "lit" >4.940656458412465441765687928682213723651e-324</span><span class= "pln" > </span><span class= "com" > // 1 / 2**(1023 - 1 + 52)</span><span class="pln"> </span><span class= "pun" >)</span> |
1 2 3 4 5 6 7 8 9 | <span class= "kwd" > package </span><span class= "pln" > main </span><span class= "kwd" > import </span><span class= "pln" > </span><span class= "pun" >(</span><span class= "pln" > </span><span class= "str" > "fmt" </span><span class= "pln" > </span><span class= "str" > "math" </span><span class= "pln" > </span><span class= "pun" >)</span><span class= "pln" > func main</span><span class= "pun" >()</span><span class= "pln" > </span><span class= "pun" >{</span><span class= "pln" > fmt</span><span class= "pun" >.</span><span class= "typ" >Printf</span><span class= "pun" >(</span><span class= "str" > "%f\n" </span><span class= "pun" >,</span><span class= "pln" > math</span><span class= "pun" >.</span><span class= "typ" >Pi</span><span class= "pun" >)</span><span class= "pln" > fmt</span><span class= "pun" >.</span><span class= "typ" >Printf</span><span class= "pun" >(</span><span class= "str" > "%.2f\n" </span><span class= "pun" >,</span><span class= "pln" > math</span><span class= "pun" >.</span><span class= "typ" >Pi</span><span class= "pun" >)</span><span class= "pln" > </span><span class= "com" > // 浮点数打印</span><span class="pln"> </span><span class= "pun" >}</span> |
需要进行浮点计算时,可以使用放大 100 倍的整数计算,计算完成再将结果缩小 100 倍
复数
1 2 3 4 5 6 | <span class= "kwd" > var </span><span class= "pln" > c1 complex64 c1 </span><span class= "pun" >=</span><span class= "pln" > </span><span class= "lit" >1</span><span class= "pln" > </span><span class= "pun" >+</span><span class= "pln" > </span><span class= "lit" >2i</span><span class= "pln" > </span><span class= "kwd" > var </span><span class= "pln" > c2 complex128 c2 </span><span class= "pun" >=</span><span class= "pln" > </span><span class= "lit" >2</span><span class= "pln" > </span><span class= "pun" >+</span><span class= "pln" > </span><span class= "lit" >3i</span><span class= "pln" > fmt</span><span class= "pun" >.</span><span class= "typ" >Println</span><span class= "pun" >(</span><span class= "pln" >c1</span><span class= "pun" >)</span><span class= "pln" > fmt</span><span class= "pun" >.</span><span class= "typ" >Println</span><span class= "pun" >(</span><span class= "pln" >c2</span><span class= "pun" >)</span> |
布尔值
- 布尔类型变量的默认值为
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 | <span class= "com" > // 遍历字符串</span><span class="pln"> func traversalString</span><span class= "pun" >()</span><span class= "pln" > </span><span class= "pun" >{</span><span class= "pln" > s </span><span class= "pun" >:=</span><span class= "pln" > </span><span class= "str" > "hello沙河" </span><span class= "pln" > </span><span class= "kwd" > for </span><span class= "pln" > i </span><span class= "pun" >:=</span><span class= "pln" > </span><span class= "lit" >0</span><span class= "pun" >;</span><span class= "pln" > i </span><span class= "pun" ><</span><span class= "pln" > len</span><span class= "pun" >(</span><span class= "pln" >s</span><span class= "pun" >);</span><span class= "pln" > i</span><span class= "pun" >++</span><span class= "pln" > </span><span class= "pun" >{</span><span class= "pln" > </span><span class= "com" > //byte</span><span class="pln"> fmt</span><span class= "pun" >.</span><span class= "typ" >Printf</span><span class= "pun" >(</span><span class= "str" > "%v(%c) " </span><span class= "pun" >,</span><span class= "pln" > s</span><span class= "pun" >[</span><span class= "pln" >i</span><span class= "pun" >],</span><span class= "pln" > s</span><span class= "pun" >[</span><span class= "pln" >i</span><span class= "pun" >])</span><span class= "pln" > </span><span class= "pun" >}</span><span class= "pln" > fmt</span><span class= "pun" >.</span><span class= "typ" >Println</span><span class= "pun" >()</span><span class= "pln" > </span><span class= "kwd" > for </span><span class= "pln" > _</span><span class= "pun" >,</span><span class= "pln" > r </span><span class= "pun" >:=</span><span class= "pln" > range s </span><span class= "pun" >{</span><span class= "pln" > </span><span class= "com" > //rune</span><span class="pln"> fmt</span><span class= "pun" >.</span><span class= "typ" >Printf</span><span class= "pun" >(</span><span class= "str" > "%v(%c) " </span><span class= "pun" >,</span><span class= "pln" > r</span><span class= "pun" >,</span><span class= "pln" > r</span><span class= "pun" >)</span><span class= "pln" > </span><span class= "pun" >}</span><span class= "pln" > fmt</span><span class= "pun" >.</span><span class= "typ" >Println</span><span class= "pun" >()</span><span class= "pln" > </span><span class= "pun" >}</span><br><br><span class= "com" ># 输出:</span><span class= "pln" > </span><span class= "lit" >104</span><span class= "pun" >(</span><span class= "pln" >h</span><span class= "pun" >)</span><span class= "pln" > </span><span class= "lit" >101</span><span class= "pun" >(</span><span class= "pln" >e</span><span class= "pun" >)</span><span class= "pln" > </span><span class= "lit" >108</span><span class= "pun" >(</span><span class= "pln" >l</span><span class= "pun" >)</span><span class= "pln" > </span><span class= "lit" >108</span><span class= "pun" >(</span><span class= "pln" >l</span><span class= "pun" >)</span><span class= "pln" > </span><span class= "lit" >111</span><span class= "pun" >(</span><span class= "pln" >o</span><span class= "pun" >)</span><span class= "pln" > </span><span class= "lit" >230</span><span class= "pun" >(æ)</span><span class= "pln" > </span><span class= "lit" >178</span><span class= "pun" >(²)</span><span class= "pln" > </span><span class= "lit" >153</span><span class= "pun" >()</span><span class= "pln" > </span><span class= "lit" >230</span><span class= "pun" >(æ)</span><span class= "pln" > </span><span class= "lit" >178</span><span class= "pun" >(²)</span><span class= "pln" > </span><span class= "lit" >179</span><span class= "pun" >(³)</span><span class= "pln" > </span><span class= "lit" >104</span><span class= "pun" >(</span><span class= "pln" >h</span><span class= "pun" >)</span><span class= "pln" > </span><span class= "lit" >101</span><span class= "pun" >(</span><span class= "pln" >e</span><span class= "pun" >)</span><span class= "pln" > </span><span class= "lit" >108</span><span class= "pun" >(</span><span class= "pln" >l</span><span class= "pun" >)</span><span class= "pln" > </span><span class= "lit" >108</span><span class= "pun" >(</span><span class= "pln" >l</span><span class= "pun" >)</span><span class= "pln" > </span><span class= "lit" >111</span><span class= "pun" >(</span><span class= "pln" >o</span><span class= "pun" >)</span><span class= "pln" > </span><span class= "lit" >27801</span><span class= "pun" >(沙)</span><span class= "pln" > </span><span class= "lit" >27827</span><span class= "pun" >(河)</span> |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步