特殊常量iota:

1.iota的值在遇到const关键字时将被重置为0

2.const中每新增一行常量声明将使iota计数一次,也就是自动加一。

3.iota只能在常量定义中使用。

iota常见使用方法:

1.跳值使用法;

2.插队使用法;

3.表达式隐式使用法;

4.单行使用法;

package main
import (
"fmt"
)
const a = iota
const b = iota
func main() {
fmt.Println("a的常量值为",a) //值为0
fmt.Println("b的常量值为",b) //值为0
}
package main

import (
"fmt"
) const a = iota
const (
b = iota
c = iota
)
func main() {
fmt.Println("a的常量值为",a) //值为0
fmt.Println("b的常量值为",b) //值为0
fmt.Println("c的常量值为",c) //值为1
}

所以每新增一行常量声明,这里iota自增一

跳值使用法

以上代码省略....

const (
a = iota
b = iota
_
c = iota
)
func main() {
fmt.Println("a的常量值为",a) //值为0
fmt.Println("b的常量值为",b) //值为1
fmt.Println("c的常量值为",c) //值为3
}

插队使用法

const (
a = iota
b = 3
c = iota
)
func main() {
fmt.Println("a的常量值为",a) //值为0
fmt.Println("b的常量值为",b) //值为3
fmt.Println("c的常量值为",c) //值为2
}

表达式隐式使用法

const (
a = iota * 2
b = iota
c = iota
)
func main() {
fmt.Println("a的常量值为",a) //值为0
fmt.Println("b的常量值为",b) //值为1
fmt.Println("c的常量值为",c) //值为2
}
const (
a = iota * 2
b // 1*2 自动隐士的继承上面非空表达式
c // 2*2
)
func main() {
fmt.Println("a的常量值为",a) //值为0
fmt.Println("b的常量值为",b) //值为2
fmt.Println("c的常量值为",c) //值为4
}
const (
a = iota * 2
b = iota * 3
c
)
func main() {
fmt.Println("a的常量值为",a) //值为0
fmt.Println("b的常量值为",b) //值为3
fmt.Println("c的常量值为",c) //值为6
}

单行使用法

const (
a,b = iota,iota * 2 //同一行iota的值是不加的
c,d //c引用的是a,而不是后面的b iota * 2
e = iota //这行e只有单独一个 因为格式和上面不一样,编辑器会报错,所以要赋值iota
)
func main() {
fmt.Println("a的常量值为",a) //值为0
fmt.Println("b的常量值为",b) //值为0
fmt.Println("c的常量值为",c) //值为1
fmt.Println("d的常量值为",d) //值为2
fmt.Println("e的常量值为",e) //值为2
}

【golang】golang的一些知识要点的更多相关文章

  1. Golang 接口与反射知识要点

    目录 Golang 接口与反射知识要点 1. 接口类型变量 2. 类型断言 3. 鸭子类型 4. 反射机制 5. reflect 包 TypeOf().ValueOf() Type().Kind() ...

  2. 数据结构和算法(Golang实现)(9)基础知识-算法复杂度及渐进符号

    算法复杂度及渐进符号 一.算法复杂度 首先每个程序运行过程中,都要占用一定的计算机资源,比如内存,磁盘等,这些是空间,计算过程中需要判断,循环执行某些逻辑,周而反复,这些是时间. 那么一个算法有多好, ...

  3. 数据结构和算法(Golang实现)(10)基础知识-算法复杂度主方法

    算法复杂度主方法 有时候,我们要评估一个算法的复杂度,但是算法被分散为几个递归的子问题,这样评估起来很难,有一个数学公式可以很快地评估出来. 一.复杂度主方法 主方法,也可以叫主定理.对于那些用分治法 ...

  4. CentOs7下systemd管理知识要点

    centOs7的一个巨大的变动就是用systemd取代了原来的System V init.systemd是一个完整的软件包,安装完成后有很多物理文件组成,大致分布为,配置文件位于/etc/system ...

  5. [CISCO] 转载:冲突域与广播域(区别、知识要点)

    [CISCO] 转载:冲突域与广播域(区别.知识要点) 1.传统以太网操作(Ethernet Connection Ethernet) 传统共享式以太网的典型代表是总线型以太网.在这种类型的以太网中, ...

  6. SDR软件无线电知识要点(三)EVM

    SDR软件无线电知识要点(三)EVM 信号质量如何评估 Noise Figure (NF) or sensitivity and Error Vector Magnitude (EVM) provid ...

  7. SDR软件无线电知识要点(一)噪声系数与噪声因子

    SDR软件无线电知识要点(一)噪声系数与噪声因子 信号质量如何评估 Noise Figure (NF) or sensitivity and Error Vector Magnitude (EVM) ...

  8. RIP 知识要点

    RIP知识要点: UDP:520 版本:v1(广播包更新) / v2(组播更新 224.0.0.9  ) 度量值:跳数(最多跳15跳,路由为16跳时路由不可达) =================== ...

  9. javascript必须知道的知识要点(二)

    该文章不详细叙述各知识要点的具体内容,仅把要点列出来,供大家学习的时候参照,或者检测自己是否熟练掌握了javascript,清楚各个部分的内容. 内建对象可划分为数据封装类对象.工具类对象.错误类对象 ...

  10. javascript必须知道的知识要点(一)

    该文章不详细叙述各知识要点的具体内容,仅把要点列出来,供大家学习的时候参照,或者检测自己是否熟练掌握了javascript,清楚各个部分的内容. 语句 注释 输出 字面量 变量 数据类型 typeof ...

随机推荐

  1. 扩展中国剩余定理 (ExCRT)

    扩展中国剩余定理 (ExCRT) 学习笔记 预姿势: 扩展中国剩余定理和中国剩余定理半毛钱关系都没有 问题: 求解线性同余方程组: \[ f(n)=\begin{cases} x\equiv a_1\ ...

  2. 「JLOI2014」聪明的燕姿

    传送门 Luogu 解题思路 很容易想到直接构造合法的数,但是这显然是会T飞的. 我们需要考虑这样一件事: 对于一个数 \(n\),对其进行质因数分解: \[n=\sum_{i=1}^x p_i^{c ...

  3. 前端学习笔记系列一:9 js中数组的拷贝

    拷贝分为浅拷贝和深拷贝,在JavaScript中能够实现这两种拷贝的方式也是多种多样.以下是一维数组实现深拷贝和浅拷贝的各种方式. 一.浅拷贝 1.赋值 赋值是最直接的一种浅拷贝. let arr3 ...

  4. 使用Hibernate+MySql+native SQL的BUG,以及解决办法

      本来是mssql+hibernate+native SQL 应用的很和谐 但是到了把mssql换成mysql,就出了错(同样的数据结构和数据). 查询方法是: String sql = " ...

  5. i春秋-百度杯九月场-YeserCMS(cmseasy的UpdateXML注入漏洞)

    学习了大佬们的操作才做出来,记录一次菜鸡的无能为力. tips:flag在网站根目录下的flag.php中.我们的目标就是flag.php了. 题目说是心的CMS:YeserCMS,然而百度一下,出来 ...

  6. Python @函数装饰器及用法

    1.函数装饰器的工作原理 函数装饰器的工作原理是怎样的呢?假设用 funA() 函数装饰器去装饰 funB() 函数,如下所示: #funA 作为装饰器函数 def funA(fn): #... fn ...

  7. java 饮料换购

    饮料换购 乐羊羊饮料厂正在举办一次促销优惠活动.乐羊羊C型饮料,凭3个瓶盖可以再换一瓶C型饮料,并且可以一直循环下去,但不允许赊账. 请你计算一下,如果小明不浪费瓶盖,尽量地参加活动,那么,对于他初始 ...

  8. 【pwnable.tw】 starbound

    此题的代码量很大,看了一整天的逻辑代码,没发现什么问题... 整个函数的逻辑主要是红框中两个指针的循环赋值和调用,其中第一个指针是主功能函数,第二个数组是子功能函数. 函数的漏洞主要在main函数中, ...

  9. java#lambda相关之方法引用

    lambda在java中通常是()->{}这样的方式,来书写的.通常的lambda是四大函数型接口的一个“实现”. 如果我们要写的lambda已经有现成的实现了,那么就可以把现成的实现拿过来使用 ...

  10. Make the PE file consistent when code not changed

    参考:http://www.mouseos.com/assembly/06.html 参考:http://www.cnblogs.com/tk091/archive/2012/04/18/245617 ...