数据类型
<h2>说明</h2>
<ul>
<li>
<p>用于声明变量和函数</p>
</li>
<li>
<p>数据类型的出现,方便充分利用内存</p>
<p>从而将数据类型分成为,内存所所需大小的不同数据类型</p>
</li>
</ul>
<h1>分类</h1>
<ul>
<li>
<p>布尔</p>
<p>true, false</p>
</li>
<li>
<p>数字</p>
<p>整型、浮点型</p>
</li>
<li>
<p>字符串</p>
</li>
<li>
<p>派生</p>
<ul>
<li>
<p>数组([])</p>
</li>
<li>
<p>结构体(struct)</p>
</li>
<li>
<p>指针(&)</p>
</li>
<li>
<p>切片(slice)</p>
</li>
<li>
<p>集合(map)</p>
</li>
<li>
<p>通道(channel)</p>
</li>
<li>
<p>函数(func)</p>
</li>
<li>接口(interface)</li>
</ul>
</li>
</ul>
<h2>布尔</h2>
<ul>
<li>默认值为 false</li>
<li>不允许将整型强制转换为布尔型</li>
<li>不参与数值运算,不与其他类型进行转换</li>
</ul>
<h2>整型</h2>
<h4>有符号</h4>
<table>
<thead>
<tr>
<th>类型</th>
<th>位数</th>
<th>长度(字节)</th>
<th>默认值</th>
<th>范围</th>
</tr>
</thead>
<tbody>
<tr>
<td>int8</td>
<td>8</td>
<td>1</td>
<td>0</td>
<td>-128 到 127</td>
</tr>
<tr>
<td>int16</td>
<td>16</td>
<td>2</td>
<td>0</td>
<td>-32768 到 32767</td>
</tr>
<tr>
<td>int32</td>
<td>32</td>
<td>4</td>
<td>0</td>
<td>-2147483648 到 2147483647</td>
</tr>
<tr>
<td>int64</td>
<td>64</td>
<td>8</td>
<td>0</td>
<td>-9223372036854775808 到 9223372036854775807</td>
</tr>
</tbody>
</table>
<h4>无符号</h4>
<table>
<thead>
<tr>
<th>类型</th>
<th>位数</th>
<th>长度(字节)</th>
<th>默认值</th>
<th>范围</th>
</tr>
</thead>
<tbody>
<tr>
<td>uint8</td>
<td>8</td>
<td>1</td>
<td>0</td>
<td>0 到 255</td>
</tr>
<tr>
<td>uint16</td>
<td>16</td>
<td>2</td>
<td>0</td>
<td>0 到 65535</td>
</tr>
<tr>
<td>uint32</td>
<td>32</td>
<td>4</td>
<td>0</td>
<td>0 到 4294967295</td>
</tr>
<tr>
<td>uint64</td>
<td>64</td>
<td>8</td>
<td>0</td>
<td>0 到 18446744073709551615</td>
</tr>
</tbody>
</table>
<h2>浮点型</h2>
<p>complex是复数</p>
<table>
<thead>
<tr>
<th>类型</th>
<th>位数</th>
<th>长度(字节)</th>
<th>默认值</th>
<th>范围</th>
</tr>
</thead>
<tbody>
<tr>
<td>float32</td>
<td>32</td>
<td>4</td>
<td>0.0</td>
<td>IEEE 到 754</td>
</tr>
<tr>
<td>float64</td>
<td>64</td>
<td>8</td>
<td>0.0</td>
<td>IEEE-754</td>
</tr>
<tr>
<td>complex64</td>
<td>64</td>
<td>8</td>
<td></td>
<td>实数和虚数</td>
</tr>
<tr>
<td>complex128</td>
<td>128</td>
<td>16</td>
<td></td>
<td>实数和虚数</td>
</tr>
</tbody>
</table>
<h2>其他数字类型</h2>
<table>
<thead>
<tr>
<th>类型</th>
<th>名称</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>byte</td>
<td>uint8的别名</td>
<td>type byte = uint8</td>
</tr>
<tr>
<td>rune</td>
<td>int32的别名</td>
<td>type rune = int32,表示一个unicode码</td>
</tr>
<tr>
<td>uint</td>
<td></td>
<td>32 或 64 位</td>
</tr>
<tr>
<td>int</td>
<td></td>
<td>32 或 64 位</td>
</tr>
<tr>
<td>uintptr</td>
<td>无符号整型</td>
<td>用于存放一个指针</td>
</tr>
</tbody>
</table>
<h2>字符串</h2>
<ul>
<li>默认值为空字符串("")</li>
<li>UTF-8 字符串</li>
</ul>
<h2>字符串转义符</h2>
<table>
<thead>
<tr>
<th>转义符</th>
<th>含义</th>
</tr>
</thead>
<tbody>
<tr>
<td>\r</td>
<td>回车符(返回行首)</td>
</tr>
<tr>
<td>\n</td>
<td>换行符(直接跳到下一行的同列位置)</td>
</tr>
<tr>
<td>\t</td>
<td>制表符</td>
</tr>
<tr>
<td>\'</td>
<td>单引号</td>
</tr>
<tr>
<td>\"</td>
<td>双引号</td>
</tr>
<tr>
<td>\</td>
<td>反斜杠</td>
</tr>
</tbody>
</table>
<h2>派生</h2>
<table>
<thead>
<tr>
<th>类型</th>
<th>名称</th>
<th>默认值</th>
<th>说明</th>
</tr>
</thead>
<tbody>
<tr>
<td>[]</td>
<td>数组</td>
<td></td>
<td>值类型</td>
</tr>
<tr>
<td>struct</td>
<td>结构体</td>
<td></td>
<td>值类型</td>
</tr>
<tr>
<td>&</td>
<td>指针</td>
<td>nil</td>
<td>引用类型</td>
</tr>
<tr>
<td>slice</td>
<td>切片</td>
<td>nil</td>
<td>引用类型</td>
</tr>
<tr>
<td>map</td>
<td>集合</td>
<td>nil</td>
<td>引用类型</td>
</tr>
<tr>
<td>channel</td>
<td>通道</td>
<td>nil</td>
<td>引用类型</td>
</tr>
<tr>
<td>func</td>
<td>函数</td>
<td>nil</td>
<td>函数</td>
</tr>
<tr>
<td>interface</td>
<td>接口</td>
<td>nil</td>
<td>接口</td>
</tr>
</tbody>
</table>