美文网首页
GO语言学习系列三--GO的基本类型与变量

GO语言学习系列三--GO的基本类型与变量

作者: astarblog | 来源:发表于2018-01-09 21:43 被阅读0次

    基本类型

    1. 布尔类型 bool

    取值范围为:true , false
    长度为 1 个字节
    不可以用数字来表示true 和 false
    例子: var d bool = true

    1. 数字类型
      2.1. 整型 int/uint

    取值范围:根据操作系统不同,分别为32位与64位

    2.2. 整型里面的整数及取值范围:

    int8(-128 -> 127)
    int16(-32768 -> 32767)
    int32(-2,147,483,648 -> 2,147,483,647)
    int64(-9,223,372,036,854,775,808 -> 9,223,372,036,854,775,807)

    2.3. 整型里面的无符号整数及取值范围:

    uint8(0 -> 255)
    uint16(0 -> 65,535)
    uint32(0 -> 4,294,967,295)
    uint64(0 -> 18,446,744,073,709,551,615)

    1. 浮点型 float32/float64

    根据操作系统不同,取值范围不同
    float32(+- 1e-45 -> +- 3.4 * 1e38)
    float64(+- 5 1e-324 -> 107 1e308)

    1. 指针整数 uintptr

    足够保存指针32,64位的整数型

    1. 复数 complex64/complex128

    complex64 (32 位实数和虚数)
    complex128 (64 位实数和虚数)
    复数使用 re+imI 来表示,其中 re 代表实数部分,im 代表虚数部分,I 代表根号负 1。
    例:var c1 complex64 = 5 + 10i
    fmt.Printf("The value is: %v", c1)
    // 输出: 5 + 10i

    1. 其它值类型

    array,struct,string(这些会在后面的文章中单独说明)

    1. 引用类型

    slice,map,chan

    1. 接口类型 inteface
    2. 函数类型 func

    补充说明:类型零值

    零值并不等于空值,而是当变量被声明为某种类型的初始值
    正常情况下的默认值为0
    bool默认为false
    string默认为空字符串

    变量的声明与赋值

    变量是通过var关键字来进行声明

    1. 第一种方式 ,声明与赋值分开

    格式: var 变量名 变量类型
    例:
    声明: var d int
    赋值: d = 1

    1. 第二种方式,声明的同时进行赋值

    格式:var 变量名 变量类型 = 值
    例:
    var d int = 1

    1. 第三种方式,同时声明多个变量

    格式 : var 变量名,变量名,变量名 类型
    例:var a,b,c int
    说明:一次声明多个变量时,变量名用','进行分割
    留个思考,自己试下同时声明多个变量并进行赋值看看

    1. 第四种方式,最减写法(只适合在函数类,不适合全局变量)

    格式 : 变量名 := 值
    例: a := 1
    a,b,c := 1,2,3
    更多其它方式,等着你去发现

    变量类型的转换

    在文章最开始介绍了基本类型,接着介绍了定义变量,我们知道GO语言的变量是不能跨类型进行比较的,当我们要比较两个变量时,就需要转换成相同的类型进行比较

    转换只能发生在两种相互兼容的类型,整型是不能转为bool,反之也不行
    格式:新变量名 := 要转换的类型(要转换的变量)
    例:var a float32 = 1.2
    转换 b := int(a)

    本篇基本介绍了GO的基本类型与变量的声明和赋值,下一篇将介绍常量与GO的运算符

    如果觉得文章能够对您有所帮助,可以关注我,你的支持会鼓励我不断分享更多更好的优质文章。

    相关文章

      网友评论

          本文标题:GO语言学习系列三--GO的基本类型与变量

          本文链接:https://www.haomeiwen.com/subject/qzagnxtx.html