【golang】golang的一些知识要点
特殊常量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的一些知识要点的更多相关文章
- Golang 接口与反射知识要点
目录 Golang 接口与反射知识要点 1. 接口类型变量 2. 类型断言 3. 鸭子类型 4. 反射机制 5. reflect 包 TypeOf().ValueOf() Type().Kind() ...
- 数据结构和算法(Golang实现)(9)基础知识-算法复杂度及渐进符号
算法复杂度及渐进符号 一.算法复杂度 首先每个程序运行过程中,都要占用一定的计算机资源,比如内存,磁盘等,这些是空间,计算过程中需要判断,循环执行某些逻辑,周而反复,这些是时间. 那么一个算法有多好, ...
- 数据结构和算法(Golang实现)(10)基础知识-算法复杂度主方法
算法复杂度主方法 有时候,我们要评估一个算法的复杂度,但是算法被分散为几个递归的子问题,这样评估起来很难,有一个数学公式可以很快地评估出来. 一.复杂度主方法 主方法,也可以叫主定理.对于那些用分治法 ...
- CentOs7下systemd管理知识要点
centOs7的一个巨大的变动就是用systemd取代了原来的System V init.systemd是一个完整的软件包,安装完成后有很多物理文件组成,大致分布为,配置文件位于/etc/system ...
- [CISCO] 转载:冲突域与广播域(区别、知识要点)
[CISCO] 转载:冲突域与广播域(区别.知识要点) 1.传统以太网操作(Ethernet Connection Ethernet) 传统共享式以太网的典型代表是总线型以太网.在这种类型的以太网中, ...
- SDR软件无线电知识要点(三)EVM
SDR软件无线电知识要点(三)EVM 信号质量如何评估 Noise Figure (NF) or sensitivity and Error Vector Magnitude (EVM) provid ...
- SDR软件无线电知识要点(一)噪声系数与噪声因子
SDR软件无线电知识要点(一)噪声系数与噪声因子 信号质量如何评估 Noise Figure (NF) or sensitivity and Error Vector Magnitude (EVM) ...
- RIP 知识要点
RIP知识要点: UDP:520 版本:v1(广播包更新) / v2(组播更新 224.0.0.9 ) 度量值:跳数(最多跳15跳,路由为16跳时路由不可达) =================== ...
- javascript必须知道的知识要点(二)
该文章不详细叙述各知识要点的具体内容,仅把要点列出来,供大家学习的时候参照,或者检测自己是否熟练掌握了javascript,清楚各个部分的内容. 内建对象可划分为数据封装类对象.工具类对象.错误类对象 ...
- javascript必须知道的知识要点(一)
该文章不详细叙述各知识要点的具体内容,仅把要点列出来,供大家学习的时候参照,或者检测自己是否熟练掌握了javascript,清楚各个部分的内容. 语句 注释 输出 字面量 变量 数据类型 typeof ...
随机推荐
- 「NOIP2010」引水入城
传送门 Luogu 解题思路 第一问很好做,只要总第一行的每一个点都跑一边dfs,判断最后一行是否有点标记不了即可. 考虑处理第二问. 其实这一问就是: 把第一行的点都看做是对最后一行一些点的覆盖,求 ...
- JDK8中的ConcurrentHashMap源码
背景 上文JDK8中的HashMap源码写了HashMap,这次写ConcurrentHashMap ConcurrentHashMap源码 /** * Maps the specified key ...
- 4K对齐
4K对齐这个概念常常与固态硬盘联系起来.买了一块固态硬盘,装机过程中时有忽略4K对齐这个小细节,但是这个小细节往往十分重要,它影响硬盘的使用寿命和速度. 现在来了解一下4K对齐到底是个什么东西. 一. ...
- POJ 3371:Flesch Reading Ease 模拟
Flesch Reading Ease Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 2071 Accepted: 60 ...
- eos 智能合约开发体验
eos编译安装 eos 特性 数据存储 eos投票智能合约开发 eos投票智能合约部署测试 注意避坑 eos编译安装 ERROR: Could not find a package configura ...
- Spring组件扫描--源码跟踪
看这篇文章之前可以先了解之前的跟踪流程,https://www.jianshu.com/p/4934233f0ead 代码过宽,可以shift + 鼠标滚轮 左右滑动查看 这篇文章主要跟踪spring ...
- Day7 - J - Raising Modulo Numbers POJ - 1995
People are different. Some secretly read magazines full of interesting girls' pictures, others creat ...
- linux下python开发环境的安装
1.准备编译环境 yum groupinstall 'Development Tools' yum install zlib-devel bzip2-devel openssl-devel ncurs ...
- 004.Delphi插件之QPlugins,参数传递
界面如下 插件框架中大量使用了接口的东西,看的眼花缭乱,很多地方只做了申明,具体的实现是在另外的子类. DLL的代码如下 unit ParamTest; interface uses classes, ...
- Nifi简介及核心概念整理
简介 Apache NiFi 是一个易于使用.功能强大而且可靠的数据拉取.数据处理和分发系统,用于自动化管理系统间的数据流. 它支持高度可配置的指示图的数据路由.转换和系统中介逻辑,支持从多种数据源动 ...