go 基础之数据类型(1)

1.基本数据类型概述

  • 整型
  • 浮点型
  • 复数
  • 布尔型
  • 字符串
  • 常量
  • 整型运算

2.数据类型详细

  2.1.整型(Go语言同时提供了有符号和无符号类型的整数运算)

有符号整形数类型:
int8,长度:1字节, 取值范围:(-128 ~ 127)
int16,长度:2字节,取值范围:(-32768 ~ 32767)
int32,长度:4字节,取值范围:(-2,147,483,648 ~ 2,147,483,647)
int64.长度:8字节,取值范围:(-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807)

无符号整形数类型:
uint8,长度:1字节, 取值范围:(0 ~ 255)
uint16,长度:2字节,取值范围:(0 ~ 65535)
uint32,长度:4字节,取值范围:(0 ~ 4,294,967,295)
uint64.长度:8字节,取值范围:(0 ~ 18,446,744,073,709,551,615)

    

  2.2.浮点型

 

   浮点型。float32 精确到小数点后 7 位,float64 精确到小数点后 15 位。由于精确度的缘故,你在使用 == 或者 != 来比较浮点数时应当非常小心。

浮点型(IEEE-754 标准):
float32:(+- 1e-45 -> +- 3.4 * 1e38)32位浮点类型

float64:(+- 5 1e-324 -> 107 1e308)64位浮点类型

  浮点型中指数部分由"E"或"e"以及带正负号的10进制整数表示。例:3.9E-2表示浮点数0.039。3.9E+1表示浮点数39。 有时候浮点数类型值也可以被简化。比如39.0可以被简化为  39。0.039可以被简化为.039。在Golang中浮点数的相关部分只能由10进制表示法表示。

复数

复数类型:
complex64: 由两个float32类型的值分别表示复数的实数部分和虚数部分

complex128: 由两个float64类型的值表示复数的实数部分和虚数部分

复数类型的值一般由浮点数表示的实数部分、加号"+"、浮点数表示的虚数部分以及小写字母"i"组成,例如:

 var x complex128 = complex(1,2)  //1+2i

对于一个复数 c = complex(x, y) ,可以通过Go语言内置函数 real(z) 获得该复数的实 部,也就是 x ,通过 imag(c) 获得该复数的虚部,也就是 y 。      

  2.3.布尔型    

    在Go语言中,布尔值的类型为 bool,值是 true 或 false  

  2.4.字符串

    在Go语言中,组成字符串的最小单位是字符,存储的最小单位是字节,字符串本身不支持修改。字节是数据存储的最小单元

    字符串的表示法有两种,即:原生表示法和解释型表示法。原生表示法,需用用反引号"`"把字符序列包起来,如果用解释型表示法,则需要用双引号"""包裹字符序列。

    这两种表示的区别是,前者表示的是所见即所得的(除了回车符)。后者所表示的值中转义符会起作用。字符串值是不可变的,如果我们创建了一个此类型的值,就不可能再对它本身做任何修改。

  var name string = "Jone" 

      var unme sting = `Jone` 

  2.5.常量

    常量表达式的值在编译期计算,而不是在运行期。每种常量的潜在类型都是基础类型:boolean、string或数字。

    

const x, y int = 1, 2 // 多常量初始化
const s = "Hello, KeKe!" // 类型推断
const ( // 常量组
a, b
c
= 10, 20
bool = false
)

func main() {

const m = "20"// 未使用用局部常量不会引发编译错误。
}

  2.6.整型运算

    在整型运算中,算术运算、逻辑运算和比较运算,运算符优先级从上到下递减顺序排列:

    

 *      /     %     <<     >>     &     &^ 
 +      -     |     ^      
 ==     !=    <     <=     >      >=
 &&
 ||

    

            在同一个优先级,使用左优先结合规则,但是使用括号可以明确优先顺序。

bit位操作运算符:

符号操作操作数是否区分符号
& 位运算 AND No
^ 位运算 XOR No
&^ 位清空 (AND NOT) No
<< 左移 Yes
>> 右移 Yes

     

posted @ 2020-01-21 14:33  红领巾下的大刀疤  阅读(231)  评论(0)    收藏  举报
/* 看板娘 */