(一) Go的基本类型

Go的基本类型 ( Basic Types )


 

bool

string

int int8 int16 int32 int64

uint uint8 uint16 uint32 uint64 uintptr

byte // uint8 的别名

rune // int32 的别名

   // 代表一个 Unicode

float32 float64

complex64 complex128

int, uint uintptr 类型在32位的系统上一班是32位,而在64位系统上是64位的。

当我们需要使用一个整数类型时,应该首选 int,除非在特别的情况下才会使用定长整数类型或者无符号整数类型。

  eg: 当需要标识用户ID的时候(ID为非负数)那么则会使用到 uint 类型

 

Go的类型转换


 

表达式 T ( V ) 将值 V 转换为类型 T 。

eg:

var num int = 1
var uNum uint
uNum = uint(num)

 

Go的类型推导


在定义一个变量却并不显式指定其类型时(使用 := 语法或者 var = 表达式语法),变量的类型由(等号)右侧的值推导出。

当右值定义了类型时,心变量的类型与其相同。

但是当右边包含了未指名类型的数字常量时,新的变量就可能是int/float64或complex128.这取决于常量的精度。

eg:

num := 1
//or
var num = 1

 

Go的常量


 

常量的定义与变量类似,只不过使用 const 关键字。

常量可以是字符 / 字符串 / 布尔 或 数字类型 的值。

常量不能使用 := 语法定义。

eg:

const CONST_NUM = 1
//or
const (
    CONST_NUM = 1
    CONST_NUM2 = 2   
)

 

数值常量


 

 数值常量是高精度的值。

一个未指定类型的常量 由上下文来决定其类型。

eg:

const (
    BIG = 1 << 99
    SMALL = BIG >> 99   
)

 

posted @ 2017-08-15 15:01  问号是我  阅读(191)  评论(0编辑  收藏  举报