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

    变量和常量

    变量

    变量:主要作用是存储信息,类似一个容器。变量的值是存储在计算机内存中。
       在go中,变量有三个属性:变量类型、变量名和变量值。

    声明变量

    var 变量名 变量类型

    例子:

     1 var name string
     2 var age int
     3 var isOk bool
     4 
     5 var (
     6 a string
     7 b int
     8 c bool
     9 d float32
    10 )

    在变量声明的时候,会分配内存空间(地址),每个变量会被初始化成其类型的默认值,整型和浮点型是0,字符串是空字符串,布尔类型是false,切片、函数、指针变量是nil;
    声明变量并初始化的时候也可以不用指定类型,go语言会根据等号右边的值类型自动推导变量的类型。

    例子:

    1 var name = "xiaoming"
    2 var age = 18

    短变量声明

    在函数内部可以使用 := 方式声明并初始化变量
    例子:

    1 func main() {
    2 n := 10
    3 }

    匿名变量不占用命名空间,不会分配内存,所以匿名变量之间不存在重复声明。
    注意事项:

    1. 函数外的每个语句必须以关键字开始(var, const, func等)
    2. := 不能使用在函数外
    3. _多用于占位,表示忽略值

    常量

    常量:相对于变量来说,常量就是在程序运行过程中不会变的值。
       声明和初始化常量和变量类似,关键字换成 const 。

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

    例子:
    1 const (
    2 n1 = 100
    3 n2
    4 n3
    5 )

    上面示例中,n1、n2、n3都是100。

    iota

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

    几个常见的iota示例:

    1 const (
    2 n1 = iota  // 0
    3 n2            // 1
    4 n3            // 2
    5 n4            // 3
    6 )
    1 const (
    2 n1 = iota  // 0
    3 n2            // 1
    4 _
    5 n4            // 3
    6 )
    1 const (
    2 n1 = iota     // 0
    3 n2 = 100    // 100
    4 n3 = iota            // 2
    5 n4            // 3
    6 )
    7 const n5 = iota     // 0
    1 const (
    2 a, b = iota + 1, iota + 2      // 1  2
    3 c, d                                     // 2  3
    4 e, f                                      // 3  4
    5 )
  • 相关阅读:
    P2403 [SDOI2010]所驼门王的宝藏
    差分约束系统
    题解报告——运输计划
    差分与树上差分
    题解报告——天使玩偶
    题解报告——Mokia
    CDQ分治&整体二分(未完待续)
    点分治
    AC自动机
    树链剖分
  • 原文地址:https://www.cnblogs.com/DI-DIAO/p/12356461.html
Copyright © 2011-2022 走看看