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>

布尔值

  1. 布尔类型变量的默认值为false
  2. Go 语言中不允许将整型强制转换为布尔型
  3. 布尔型无法参与数值运算,也无法与其他类型进行转换

字符串

转义符含义
\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>

  

 

posted @   Cyber_nnno  阅读(105)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示