zoukankan      html  css  js  c++  java
  • Go 变量和常量

    Go变量

    Go语言变量名由字母、数字、下划线组成,其中首个字符不能为数字

    变量声明语法一般使用var关键字:

    var identifier type 
    //一次声明多个变量
    var identifier1, identifier2 type
    

    identifier为变量名,type为变量类型

    也可以不声明变量类型,Go根据值自行判定变量类型
    如:

    package main
    import "fmt"
    func main(){
        var num = 10
        fmt.Printf("值为:%v, 类型为:%T",num,num)
    }
    

    输出结果:

    值为:10, 类型为:int
    

    省略var关键字,使用 := 来声明变量
    如:

    v_name := value
    

    如果 := 左侧没有声明新的变量,就会产生编译错误,错误信息为:"no new variables on left side of :=",如:

    var i1 int
    i1 := 10   // 编译错误,:= 左侧没有新的变量
    i1, i2 := 1, 2  // 编译通过,:= 左侧有新的变量
    

    Go常量

    常量就是再程序运行时,不会被修改得量。

    常量在Go中的定义格式:

    const identifier [type] = value
    

    使用const关键字来声明常量,type可以省略不写,编译器会自动根据值来判断变量类型。

    案例:

    package main
    import "fmt"
    func main(){
        const PI float64 = 3.14
        fmt.Printf("PI的值为: %v
    ",PI)
    }
    

    常量也可以用作枚举:

    const (
    	Unknown = 0
        Female = 1
        Male = 2
    )
    

    iota关键字

    iota时一个特殊常量,是一个可以被编译器修改的常量。

    iota在const关键字出现时将被重置为0,const中每新增一行常量声明就会使iota计数一次,可以简单的理解为const语句快中的行索引。案例:

    const (
    	a = iota
        b = iota
        c = iota
    )
    

    第一个iota等于0,后面每多一行常量声明,他的值就会自动加1,所以a,b,c对应的值就是0,1,2。

  • 相关阅读:
    ASP.Net如何用Cookies保存对象
    MS SQL语句优化
    服务消费者
    [模板]线性筛素数(欧拉筛法)
    luogu4159 迷路 (矩阵加速)
    poj1845 sumdiv (因数的和)
    luogu3674 小清新人渣的本愿 (bitset+莫队)
    luogu3621 城池攻占 (倍增)
    luogu3233 世界树 (虚树)
    bzoj4540 序列 (单调栈+莫队+rmq)
  • 原文地址:https://www.cnblogs.com/louyefeng/p/11316834.html
Copyright © 2011-2022 走看看