美文网首页
go 的基本数据类型

go 的基本数据类型

作者: 魔法时刻 | 来源:发表于2019-06-09 20:02 被阅读0次

    bool

    string

    int int8 int16 int32 int64
    uint uint8 uint16 uint32 uint64 uintptr

    byte // uint8 的别名

    rune // int32 的别名
    // 表示一个 Unicode 码点

    float32 float64

    complex64 complex128

    导图1.jpg

    bool

    package main
    
    import (
        "fmt"
        "unsafe"
    )
    
    func main() {
        //不可以用0 或者 非0 代替 false 或 true
        var b = false
        fmt.Println("b=", b)
        fmt.Println("b的占用空间 = ",unsafe.Sizeof(b))
    }
    
    

    char

    package main
    
    import (
        "fmt"
    )
    
    func main() {
        var c1 byte = 'a'
        var c2 byte = '0'
    
        fmt.Println(c1)
        fmt.Println(c2)
        fmt.Printf("c1 = %c c2 = %c \n", c1, c2)
    
        var c3 int = '白'
        fmt.Printf("c3 = %c c3对应的码值 %d \n", c3, c3)
    
        var c4 int = 22269
        fmt.Printf("c4 = %c\n", c4)
        // 给变量赋值 格式化输出是%c,会输出该数字对应的Unicode字符
    
        var n1  = 10 + 'a'
        fmt.Println("n1=",n1)
        //字符类型可以进行运算 运算时按码值进行
    }
    
    // 字符常量用单引号括起来
    //go语言 用utf-8 编码 英文1个字节 汉字3个字节
    
    

    float

    package main
    
    import (
        "fmt"
    )
    
    func main() {
        // 位数部分可能丢失部分精度
        var num1 float32 = -123.00000901
        var num2 float64 = -123.00000901
    
        fmt.Println(num1)
        fmt.Println(num2)
    
        // golang 的浮点型默认声明为float64
        var num3 = 1.1
        fmt.Printf("num3 的数据类型 %T \n", num3)
    
        num4 := .123
        fmt.Println(num4)
    
        num5 := 5.1234e2
        fmt.Println(num5)
        // 科学计数法的形式
        num6 := 5.1234E-2
        fmt.Println(num6)
    }
    
    

    string

    package main
    
    import (
        "fmt"
    )
    
    func main() {
        //go的字符串是单个字节连接起来的
        // go 中字符串不可变 一旦赋值字符串无法修改
    
        // 双引号 "" 会识别转义字符
        // 反引号 `` 以字符串的原生形式输出 包括换行和特殊字符 可以实现防止攻击 输出源码 等效果
        str1 := "abc \nabc"
        fmt.Println(str1)
    
        str2 := "hello" + "world" +
            "你好" + "世界"
    
        fmt.Println(str2)
    
    }
    
    

    基本数据类型的默认值

    数据类型 默认值
    int 0
    float 0
    string ""
    bool false
    package main
    
    import (
        "fmt"
    )
    
    func main() {
        var a int
        var b float32
        var c float64
        var israin bool
        var name string
    
        fmt.Printf("a=%d,b=%v,c=%v,israin=%v,name=%v", a, b, c, israin, name)
        // a=0,b=0,c=0,israin=false,name=
    
    }
    
    

    相关文章

      网友评论

          本文标题:go 的基本数据类型

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