美文网首页
GoLang基础语法

GoLang基础语法

作者: 等她下班 | 来源:发表于2018-09-23 20:43 被阅读0次

    变量定义

    从hello world入手

    package main
    
    import "fmt"
    
    func main() {
        fmt.Println("Hello World")
    }
    

    控制台输出:

    Hello World
    

    变量默认值

    package main
    
    import "fmt"
    
    func main() {
        var a int
        var s string
        fmt.Println(a, s)
    }
    

    控制台输出:

    0 
    

    注:s为"",故打印出来没有效果

    如果想让""字符串显示,则代码如下:

    package main
    
    import "fmt"
    
    func main() {
        var a int
        var s string
        fmt.Println(a, s)
        fmt.Printf("%d %q\n", a, s)
    }
    

    控制台输出:
    注:s为"",故打印出来没有效果

    0 
    0, ""
    

    变量定义并初始化

    第一种方式

    package main
    
    import "fmt"
    
    func main() {
        var a, b int = 3, 4
        var s string = "abc"
        fmt.Println(a, b, s)
    }
    

    控制台输出:

    3 4 abc
    

    第二种方式

    package main
    
    import "fmt"
    
    func main() {
        var a, b, c, d = 3, 4, true, "def"
        fmt.Println(a, b, c, d)
    }
    

    控制台输出:

    3 4 true def
    

    第三种方式

    package main
    
    import "fmt"
    
    func main() {
        a, b, c, d := 3, 4, true, "def"
        fmt.Println(a, b, c, d)
    }
    

    控制台输出:

    3 4 true def
    

    如果是在包内定义变量而非func中定义变量,不能使用使用第三种方式,即不能使用:=。

    代码如下:

    package main
    
    import "fmt"
    
    var wy  = 3
    var wyy = 4
    var ss = "3456"
    
    func main() {
        fmt.Println(wy, wyy, ss)
    }
    

    还可以如下定义:

    package main
    
    import "fmt"
    
    var (
        wy  = 3
        wyy = 4
        ss = "3456"
     )
    
    func main() {
        fmt.Println(wy, wyy, ss)
    }
    

    输出如下:

    3 4 3456
    

    内置变量类型

    bool, string
    
    加u,代表无符号整数;不加u,代表有符号整数;不规定长度,与操作系统相关
    (u)int, (u)int8, (u)int16, (u)int32, (u)int64
    
    uintptr: 无符号整型,长度与操作系统相关,用于存放一个指针, ptr代表指针类型(Pointer)
    
    byte: 类似 uint8
    
    rune: 字符型,4个字节, 32位二进制位,类似 int32
    
    float32, float64
    
    complex64: 复数:实数和虚数为32位 float32
    
    complex128: 复数:实数和虚数为64位 float64
    
    

    Golang中的复数

    package main
    
    import (
        "fmt"
        "math/cmplx"
    )
    
    func main() {
        c := 3 + 4i
        fmt.Println(cmplx.Abs(c))
    }
    
    

    欧拉公式

    package main
    
    import (
        "fmt"
        "math/cmplx"
        "math"
    )
    
    func main() {
        fmt.Println(
                cmplx.Exp(1i * math.Pi) + 1)
    }
    
    

    控制台输出

    (0+1.2246467991473515e-16i)
    

    类型转换

    类型转换是强制的,无隐式类型转换

    勾股定理

    package main
    
    import (
        "fmt"
        "math"
    )
    
    func main() {
        var a, b int = 3, 4
        fmt.Println(math.Sqrt(float64(a*a + b*b)))
    }
    
    

    控制台输出

    5
    

    相关文章

      网友评论

          本文标题:GoLang基础语法

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