04.Go-变量与常量

发布于:2022-12-19 ⋅ 阅读:(151) ⋅ 点赞:(0)

4.1 变量

**作用:**给一段指定的内存空间起名,方便操作这段内存。

声明变量的一般形式是使用 var 关键字。

  • 方法一:声明一个变量, 默认的值是 0

    package main
    
    import "fmt"
    
    func main(){
        // 方法一:声明一个变量, 默认的值是0
        var a int
        fmt.Println("a = ", a)
        fmt.Printf("a的类型是: %T\n", a)
    }
    
  • 方法二:声明一个变量, 并初始化一个值

    package main
    
    import "fmt"
    
    func main(){
        // 方法二:声明一个变量, 初始化一个值
        var b int = 100
        fmt.Printf("b = %d, type of b = %T\n", b, b)
    
        var bb string = "从0到Go语言微服务架构师"
        fmt.Printf("bb = %s, bb的类型是: %T\n", bb, bb)
    }
    
  • 方法三:在初始化的时候,可以省去数据类型,通过值去自动匹配当前变量的数据类型

    package main
    
    import "fmt"
    
    func main(){
    
        // 方法三:在初始化的时候,可以省去数据类型,通过值去自动匹配当前变量的数据类型
        var c = 100
        fmt.Printf("c = %d, type of c = %T\n", c, c)
    
        var cc = "Go语言微服务架构师核心22讲"
        fmt.Printf("cc = %s, cc的类型是: %T\n", cc, cc)
    }
    
  • 短声明,只能在函数内

    package main
    
    import "fmt"
    
    func main(){
    
        // 方法四:(常用的方法) 省去var关键字,使用:=,既推导数据类型又赋值
        // 注: 短声明是在函数或方法内部使用, 不支持全局变量声明!!!!
        e := 100
        fmt.Printf("e = %d, e的类型是: %T\n", e, e)
    
        f := "Go语言极简一本通"
        fmt.Printf("f = %s, f的类型是: %T\n", f, f)
    }
    
  • 多变量声明

    package main
    
    import "fmt"
    
    func main(){
    	// 声明多个变量
        var xx, yy int = 100, 200
        var kk, wx = 300, "write_code_666(欢喜哥)"
    
        var (
            nn int = 100
            mm bool = true
        )
    }
    

4.2 常量

常量(constant)表示固定的值。在计算机程序运行时,不会被程序修改的。

  • 定义一个常量,使用 const 关键字。常量定义的时候就要赋值。

    package main
    
    import "fmt"
    
    func main(){
        // 常量(只读属性)
        const length int = 10
        // length = 100  // 常量是不允许被修改的
        fmt.Println("length = ", length)
    }
    
  • 使用 const 来定义枚举类型

    package main
    
    import "fmt"
    
    // const来定义枚举类型
    const (
        BEIJING = 0
        SHANGHAI = 1
        SHENZHEN = 2
    )
    
    func main() {
        fmt.Println("BEIJING = ", BEIJING)      // 0
        fmt.Println("SHANGHAI = ", SHANGHAI)    // 1
        fmt.Println("SHENZHEN = ", SHENZHEN)    // 2
    }
    
  • iota

    iota 是 Go 语言的常量计数器,只能在常量的表达式中使用。
    iota 在 const 关键字出现时将被重置为 0(const 内部的第一行之前),const 中每新增一行常量声明将使 iota 计数一次(iota 可理解为 const 语句块中的行索引)。使用 iota 能简化定义,在定义枚举时很有用

    package main
    
    import "fmt"
    
    // const来定义枚举类型
    const (
        // 可以在const()中添加一个关键字iota, 每行的iota都会累加1, 第一行的iota默认是0
        BEIJING = 10 * iota   // iota = 0
        SHANGHAI			  // iota = 1
        SHENZHEN			  // iota = 2
    )
    
    func main() {
        fmt.Println("BEIJING = ", BEIJING)      // 0
        fmt.Println("SHANGHAI = ", SHANGHAI)    // 10
        fmt.Println("SHENZHEN = ", SHENZHEN)    // 20
    }
    

4.3 关键字

关键字是 Go 语言中预先保留的单词,在程序中有特殊含义,不能用来定义变量或常量。

Go 语言中有 25 个关键字:

break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var
本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到