美文网首页
golang学习笔记(二)变量、常量声明和赋值

golang学习笔记(二)变量、常量声明和赋值

作者: NIIIICO | 来源:发表于2022-11-08 11:15 被阅读0次
    1、文档

    Golang标准库文档

    2、注意

    (1)go以包作为管理单位
    (2)每个文件必须声明包
    (3)程序必须有一个main包
    (4)语句结尾没有 ";"

    // 1、go以包作为管理单位
    // 2、每个文件必须声明包
    // 3、程序必须有一个main包
    package main
    
    import "fmt"
    
    // func main() // "{" 必须和函数名同行,这种的写法是有问题的
    // {
    //   fmt.Println("hello world!!!")
    // }
    func main() {
        // 语句结尾没有 ";"
        fmt.Println("hello world!!!")
    }
    
    3、编译、运行

    go build xxx.go // 编译为可执行文件
    go run xxx.go // 不生成可执行文件,直接运行

    4、变量声明、赋值

    (1)包声明了,必须使用
    (2)变量声明了,必须使用,变量支持自动推导

    package main
    
    import "fmt"
    
    // 包声明了,必须使用
    // 变量声明了,必须使用 变量支持自动推导
    func main() {
        var a int // 声明
        a = 10    // 赋值
    
        var b int = 20 // 声明并赋值
        var c = 30     // 类型推导
        d := 40        // 类型推导
        e, f := 50, 60 // 多重赋值
        var (          // 多个声明
            g = 70
            h = 80
        )
    
        fmt.Printf("a:%T, b:%T, c:%T, d:%T, e:%T, f:%T, g:%T, h:%T \n", a, b, c, d, e, f, g, h)
        fmt.Printf("a:%d, b:%d, c:%d, d:%d, e:%d, f:%d, g:%d, h:%d \n", a, b, c, d, e, f, g, h)
    
        e, f = f, e // 交换e,f的值
        fmt.Printf("e:%d, f:%d \n", e, f)
    
        _, i, _ := test() // 匿名变量,如返回结果只需要使用第二个值
        fmt.Printf("i:%d \n", i)
    }
    
    func test() (a, b, c int) {
        return 1, 2, 3
    }
    
    5、常量

    自动推导不能写 ":"

    package main
    
    import "fmt"
    
    func main() {
        const a int = 1
        const b = 2 //自动推导不能写 :
        const (
            c = 3
            d = 4
        )
    
        fmt.Printf("a:%T, b:%T, c:%T, d:%T\n", a, b, c, d)
        fmt.Printf("a:%d, b:%d, c:%d, d:%d\n", a, b, c, d)
    }
    

    相关文章

      网友评论

          本文标题:golang学习笔记(二)变量、常量声明和赋值

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