美文网首页
Go语言变量定义

Go语言变量定义

作者: MrSYLong | 来源:发表于2018-08-18 23:43 被阅读3次
    package main
    
    import (
        "fmt"
        "math/cmplx"
        "math"
    )
    
    // 包内变量
    var (
        aa = 5
        bb = true
        ss = "go"
    )
    
    var mm, dd = 6, 7
    
    func variableZeroValue()  {
        var a int
        var s string
        fmt.Println(a, s)
        fmt.Printf("%d %q\n", a, s)
    }
    
    func variableInitialValue()  {
        var a, b int = 3, 4
        var s string = "hello"
        fmt.Println(a, b, s)
    }
    
    // 类型推断
    func variableTypeDeduction()  {
        // 编译器自动决定类型
        var a, b, c, s = 3, 4, true, "world"
        fmt.Println(a, b, c, s)
    }
    
    // 简洁定义变量
    func variableShorter()  {
        // 使用 := 定义变量 只能在函数内部使用
        a, b, c, s := 3, 4, true, "world"
        b = 5
        fmt.Println(a, b, c, s)
    }
    
    // 内建变量类型
    func euler()  {
        c := 3 + 4i
        fmt.Println(cmplx.Abs(c))
    
        // 欧拉公式
        fmt.Println(cmplx.Pow(math.E, 1i * math.Pi) + 1)
        fmt.Println(cmplx.Exp(1i * math.Pi) + 1)
        fmt.Printf("%.3f\n", cmplx.Exp(1i * math.Pi) + 1)
    }
    
    // 强制类型转换 
    func triangle()  {
        var a, b int = 3, 4
        var c int
        c = int(math.Sqrt(float64(a * a + b * b)))
        fmt.Println(c)
    }
    
    // 变量类型写在变量名之后
    // 编译器可推测变量类型
    // 没有char 只有rune
    // 原生支持复数类型
    func main() {
        fmt.Println("hello world")
        variableZeroValue()
        variableInitialValue()
        variableTypeDeduction()
        variableShorter()
        fmt.Println(aa, bb, ss, mm, dd)
    
        euler()
        triangle()
    }
    
    
    

    相关文章

      网友评论

          本文标题:Go语言变量定义

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