GO学习笔记02

作者: Q大疯zi | 来源:发表于2018-03-22 23:05 被阅读13次

    一、数据类型

    go语言数据类型.png

    1.常用

     bool、int、float32、float64、string
    
     float64 比 float32 更准确
    

    2.字符

    ascii.jpg
    var ch byte
    ch = 97
    fmt.Printf("%c, %d\n", ch, ch)
            
    a, 97
    

    3.字符串

    str := "hello"
    fmt.Println("len(str)= ", len(str))     //内建函数.len
        
    len(str)=  5
    
    //字符串和字符
    str := "hello"
    fmt.Println("len(str)= ", len(str))
    fmt.Printf("str[0] = %c ,str[1] = %c", str[0], str[1])      //可以直接取出字符串的字符
            
    str[0] = h ,str[1] = e
    

    4.复数

    var t complex128
    t = 2.1 + 3.2i
    fmt.Println("t = ", t)
        
    t1 := 2.2 + 2.87i
    fmt.Printf("t1 type is %T\n", t1)
    //通过内建函数去得实部和虚部
    fmt.Println("real(t1) = ", real(t1), ",imag(t1) = ", imag(t1))
            
            
    t =  (2.1+3.2i)
    t1 type is complex128
    real(t1) =  2.2 ,imag(t1) =  2.87
    

    5.格式化输出

    package main
        
    import "fmt"
        
    func main() {
        a := 10
        b := "abc"
        c := 'a'
        d := 3.14
        fmt.Printf("%T,%T,%T,%T\n", a, b, c, d)
        
        //常用的 %d %s %c %f
        fmt.Printf("a= %d, b = %s, c = %c, d = %f\n", a, b, c, d)
        //%v万能匹配格式,对字符操作不友好
        fmt.Printf("a= %v, b = %v, c = %v, d = %v\n", a, b, c, d)
    }
        
        
    int,string,int32,float64
    a= 10, b = abc, c = a, d = 3.140000
    a= 10, b = abc, c = 97, d = 3.14
    

    6.输入函数

    var m int
    fmt.Printf("请输入变量m:")
    //fmt.Scanf("%d", &m)
    fmt.Scan(&m)    //也可以
    fmt.Printf("m = %d\n", m)
        
    请输入变量m:666
    m = 666
    

    7.类型转换

    package main
        
    import "fmt"
        
    func main() {
        var flag bool
        flag = true
        fmt.Printf("flag = %t\n", flag)
        // bool类型不能转换为int类型,同样的int也不能转换为bool
        //  这种类型叫不兼容类型
        // fmt.Printf("flag = %d\n", (int)flag)
        
        var ch byte
        ch = 'a'
        var t int
        t = int(ch)     //字符类型本质上就是整型,这种兼容类型可以转换
        fmt.Println("t = ", t)
        
    }
        
        
       flag = true
       t =  97
    

    8.类型别名(重要)

    package main
        
    import (
        "fmt"
     )
        
    func main() {
        //bigint 为新定义的别名
        type bigint int64
        var a bigint
        fmt.Printf("a type is %T\n", a)
        
        type (
            long int64
            char byte
        )
        
        var b long = 11999
        var ch char = 'a'
        fmt.Printf("b = %d, ch = %c\n", b, ch)
    }
        
        
     a type is main.bigint
     b = 11999, ch = a
    

    9.运算符

    /*
        + - * /
        %   取模(取余) 
        ++  后自增,没有前自增
        --  后自减,没有前自减
        注意没有 ++a 或者--a ,只有后置的a++ , a--
        
        ==  !=  <   >   <=  >=
        
        
        逻辑运算符
        !   非
        &&  与
        ||  或
        
        位运算
        &   按位与
        |   按位或
        ^   异或
        <<  左移
        >>  右移
        
        取地址运算符
        &
        取值运算符
        *
    */
    

    相关文章

      网友评论

        本文标题:GO学习笔记02

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