建设商务网站需要哪些步骤,做宣传网站需要多少钱,用vs2012做网站案例,html网页设计简单代码Go语言 label标签和枚举介绍及使用示例 目录
标签label
标签和goto
continue
break
枚举
代码示例
说明
总结 标签label
标签和goto
设置标签#xff0c;并在标签中判断符合条件后#xff0c;跳到指定标签位置。
示例如下#xff1a;
package mainimport … Go语言 label标签和枚举介绍及使用示例 目录
标签label
标签和goto
continue
break
枚举
代码示例
说明
总结 标签label
标签和goto
设置标签并在标签中判断符合条件后跳到指定标签位置。
示例如下
package mainimport fmtfunc main() {LABEL1:for i : 0; i 5; i {for j : 0; j 5; j {if j 3 {goto LABEL1}fmt.Println(i:, i, ,j:, j)}}fmt.Println(end------)
}
下次进入循环时i不会保存之前的状态重新从0开始计算重新来过无限循环。 continue
会跳到指定的位置但是会记录之前的状态i变成1。
示例如下
func main() {
LABEL1:for i : 0; i 5; i {for j : 0; j 5; j {if j 3 {continue LABEL1}fmt.Println(i:, i, ,j:, j)}}fmt.Println(end------)
}
运行结果
i: 0 ,j: 0
i: 0 ,j: 1
i: 0 ,j: 2
i: 1 ,j: 0
i: 1 ,j: 1
i: 1 ,j: 2
i: 2 ,j: 0
i: 2 ,j: 1
i: 2 ,j: 2
i: 3 ,j: 0
i: 3 ,j: 1
i: 3 ,j: 2
i: 4 ,j: 0
i: 4 ,j: 1
i: 4 ,j: 2
end------ break
直接跳出指定位置的循环。
示例如下
func main() {LABEL1:for i : 0; i 5; i {for j : 0; j 5; j {if j 3 {break LABEL1}fmt.Println(i:, i, ,j:, j)}}fmt.Println(end------)
}
运行结果
i: 0 ,j: 0
i: 0 ,j: 1
i: 0 ,j: 2
end------ 枚举
在go语言中没有枚举类型但是我们可以使用const iota常量累加器来进行模拟。 代码示例
示例如下
package mainimport fmtfunc main() {// 定义变量//var number int//var name string//var flag bool// 可以使用变量组来统一定义变量/*var (number int,name string,flag bool)*/// 模拟一个一周的枚举const(MONDAY iota //0TUESDAY //1WEDNESDAY //2THURSDAY //3FRIDAY //4SATURDAY //5SUNDAY //6M, N iota, iota // const属于预编译期赋值所以不需要:进行自动推导)fmt.Println(MONDAY)fmt.Println(TUESDAY)fmt.Println(WEDNESDAY)fmt.Println(THURSDAY)fmt.Println(FRIDAY)fmt.Println(SATURDAY)fmt.Println(SUNDAY)fmt.Println(M, N)
} 说明
1.iota是常量组计数器
2.iota从0开始每换行递增1
3.常量组有个特点如果不赋值默认与上一行表达式相同
4.如果同一行出现两个iota那么两个iota的值是相同的
5.每个常量组的iota是独立的如果遇到const iota会重新清零 总结
Go语言 label标签和枚举介绍及使用示例