• Go变量与常量


    变量与常量

    变量声明

    1. 定义变量时指定变量类型式

    2. 定义变量时依靠类型推断

      go是静态,强类型语言(java,c++也是如此)。

      静态语言: 在编译时就能确定变量类型的语言,类型推导在编译阶段可以不用指明类型
      动态语言: 在运行阶段才能确定变量类型的语言
      强类型语言: 一旦确定类型,运行时就不能改变,即使强制转换也不能改变原始变量类型
      弱类型: 运行是能根据上下文隐式的转换数据类型

    3. 简短声明 左边的变量名至少有一个是新的,不能定义全局变量

      1. 左边的变量名至少有一个是新的

      2. 不能定义全局变量

        全局变量:定义在函数外部的变量

    4. 多变量声明

      var a,b,c int = 1,2,3
      var a,b,c = 1,2,3
      
      //变量组
      var(
      	name = ""
      	age = 23
      	sex = ""
      )
      
    5. 零值

      1. 空判断 a == nil
      2. int 0 float 0.0 string ""
      3. 切片是引用类型,零值是nil
    6. 变量定义了必须使用,否则报错

    常量的声明

    1. 定义方式

      1. 显式类型定义:

        const B string = "hello"
        
      2. 隐式类型定义:使用类型推断

        const B = "hello"
        

        使用情况:常量定义后可以不使用,不会报错

      3. 多常量声明

        //常量组
        const(
            P1 = "hello"
            P2 = "golang"
        )
        
      4. 一个常量如果没有初始值,则默认与上一行的常量值一致

    2. 枚举类型

      使用常量组作为枚举类型,一组相关数值的数据。

      const (
      		SPRING = 1
      		SUMMER = 2
      		AUTUMN = 3
      		WINTER = 4
      	)
      
    3. 注意事项

      1. 常量的数据类型只能是:布尔型,数字型(整数型,浮点型,复数),字符型
      2. 不曾使用的常量,不会报错
      3. 显式指定数据类型时,必须确保常量值与类型一致,需要时可做显式转换。

    iota常量

    1. 定义:

      特殊常量,可以认为是一个被编译器修改的常量

      理解:iota是相对const而言的,每创建一个const就会有一个iota,初始值是0,每当定义一个常量它的值就自增1,直到下一个const出现并清零。

      const (
      		SPRING = iota //iota == 0
      		SUMMER  //iota == 1
      		AUTUMN = "haha" // haha  iota仍然会自增1 iota == 3
      		WINTER //haha  iota仍然会自增1 iota == 4
          	SPRING2 = iota //iota == 4
      		SUMMER2 //iota == 5
      		AUTUMN2 //iota == 6
      		WINTER2 //iota == 7
      	)
      
  • 相关阅读:
    我的大菠萝 – 2,控件及数据绑定
    我的大菠萝 – 1,大框架的搭建
    企业培训·在线教育产品出来后为什么团队元老选择离职
    ET中热更(ILRuntime)使用过程中,需要做的适配器,比如Linq排序
    ET–异步协程使用–TimerComponent篇
    Windows Phone开发之”给我好评“
    博客园,我开始自己的随笔啦
    转换服务的端口号
    多进程模块multiprocessing的使用
    python中协程的使用示例
  • 原文地址:https://www.cnblogs.com/henryno12/p/12324119.html
Copyright © 2020-2023  润新知