zoukankan      html  css  js  c++  java
  • Go语言__变量常量

    1,Go语言的变量声明(数字,字母,下划线组成不能以数字打头)
      Go语言中的变量需要声明后才能使用,同一作用域内不支持重复声明。 并且Go语言的变量声明后必须使用。
      变量声明格式:var 变量名 类型
    var name string
    var age int
    var isok bool
    

      批量声明变量 var( 变量名 类型......)

    var(
    	a string
    	b int
    	c bool
    	d float32
    )
    2,Go语言变量赋值
      Go语言在声明变量的时候,会自动对变量对应的内存区域进行初始化操作。每个变量会被初始化成其类型的默认值,
      例如: 整型和浮点型变量的默认值为0。 字符串变量的默认值为空字符串。
    布尔型变量默认为false。 切片、函数、指针变量的默认为nil

       变量的常用赋值:

    //初始化变量:var 变量名 类型 = 表达式
    var a1 string = "gao"
    var a2 int = 18
    //初始化多个变量可以不写类型
    var a3, a4 = "gao", 20
    //省略类型,编译器会自动根据右边的值来推导左边的变量类型
    var b1 = "gao"
    var b2 = 18
    

      局部变量的赋值:在函数的内部,可以使用更加简洁的方式声明并初始化变量

    package main
    
    import (
    	"fmt"
    )
    // 全局变量m
    var m = 100
    
    func main() {
    	n := 10
    	m := 200 // 此处声明局部变量m
    	fmt.Println(m, n)
    }
    

      匿名变量的赋值;匿名变量用一个下划线    表示

      匿名变量不占用命名空间,不会分配内存,所以匿名变量之间不存在重复声明。 (在Lua等编程语言里,匿名变量也被叫做哑元变量。)

      注意事项:

      1. 函数外的每个语句都必须以关键字开始(var、const、func等)
      2. :=不能使用在函数外。
      3. _多用于占位,表示忽略值。
    func foo() (int, string) {
    	return 10, "gao"
    }
    func main() {
    	x, _ := foo()
    	_, y := foo()
    	fmt.Println("x=", x)
    	fmt.Println("y=", y)
    }
    

      

      3,常量(const)

       相对于变量,常量是恒定不变的值,多用于定义程序运行期间不会改变的那些值。

       常量的声明和变量声明非常类似,只是把var换成了const,常量在定义的时候必须赋值。

    const pi = 3.1415
    const e = 2.7182
    

      const可以同时声明多个常量,如果省略了值则表示和上面一行的值相同。

    const (
        n1 = 100
        n2
        n3
    )
    // 100 100 100 这三个值都是100

       常量计数器(iota):只能在const的表达式中使用,在const出现时将被重置为0,const中每新增一行常量声明将使iota计数一次(可以理解为是const语句块的行索引)

    const (
    		n1 = iota //0
    		n2        //1
    		n3        //2
    		n4        //3
    	)
    

      几个常见的iota示例:

        使用  _   跳过某些值

    const (
    		n1 = iota //0
    		n2        //1
    		_
    		n4        //3
    	)
    

        iota声明中间插队

    const (
    		n1 = iota //0
    		n2 = 100  //100
    		n3 = iota //2
    		n4        //3
    	)
    	const n5 = iota //0
    

        定义数量级

    const (
    		_  = iota
    		KB = 1 << (10 * iota)
    		MB = 1 << (10 * iota)
    		GB = 1 << (10 * iota)
    		TB = 1 << (10 * iota)
    		PB = 1 << (10 * iota)
    	)
    

        多个iota定义在一行

    const (
    		a, b = iota + 1, iota + 2 //1,2
    		c, d                      //2,3
    		e, f                      //3,4
    	)
    

      

      

  • 相关阅读:
    SVN的import和export的使用
    windows下CreateDirectory创建路径失败的解决办法
    windows下查看rabbitmq服务是否启动
    tcp和udp的socket形式
    sockaddr_in 转成string
    Halcon系列(1) 菜鸟入门
    tesseract系列(3) -- tesseract训练
    tesseract系列(2) -- tesseract的使用
    springboot之redis
    hadoop格式化
  • 原文地址:https://www.cnblogs.com/laogao123/p/10889768.html
Copyright © 2011-2022 走看看