Go语言 流程控制
时间:2019-08-29
本文章向大家介绍Go语言 流程控制,主要包括Go语言 流程控制使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
If / else分支判断
if condition1 { }
if condition1 { } else { }
if condition1 { } else if condition2 { } else if condition3 { } else { }
练习
package main import “fmt” func main() { bool1 := true if bool1 { fmt.Printf(“The value is true\n”) } else { fmt.Printf(“The value is false\n”) } }
练习
// 写一个程序, 从终端读取输入, 并转成整数. 如果转成整数出错, // 则输出'can not convert to int', 并返回.否则输出该整数 package main import ( "fmt" "strconv" ) func main() { var s string fmt.Scanf("%s", &s) res, err := strconv.Atoi(s) if err != nil { fmt.Println("can not convert to int.err: ", err) return } fmt.Println(res) }
switch case语句
写法1
switch var { case var1: case var2: case var3: default: }
写法2
var i = 0 switch i { case 0: case 1: fmt.Println(“1”) case 2: fmt.Println(“2”) default: fmt.Println(“def”) }
写法3
fallthrough:Go里面switch默认相当于每个case最后带有break,匹配成功后不会自动向下执行其他case,而是跳出整个switch, 但是可以使用fallthrough强制执行下面的的case代码。
var i = 0 switch i { case 0: fallthrough case 1: fmt.Println(“1”) case 2: fmt.Println(“2”) default: fmt.Println(“def”) }
写法4
var i = 0 switch i { case 0, 1: fmt.Println(“1”) case 2: fmt.Println(“2”) default: fmt.Println(“def”) }
写法5
var i = 0 switch { condition1: fmt.Println(“i > 0 and i < 10”) condition2: fmt.Println(“i > 10 and i < 20”) default: fmt.Println(“def”) } var i = 0 switch { case i > 0 && i < 10: fmt.Println(“i > 0 and i < 10”) case i > 10 && i < 20: fmt.Println(“i > 10 and i < 20”) default: fmt.Println(“def”) }
写法6
switch i := 0 { case i > 0 && i < 10: fmt.Println(“i > 0 and i < 10”) case i > 10 && i < 20: fmt.Println(“i > 10 and i < 20”) default: fmt.Println(“def”) }
for 语句
写法1
for 初始化语句; 条件判断; 变量修改 { } for i := 0 ; i < 100; i++ { fmt.Printf(“i=%d\n”, i) }
写法2
for 条件 { } for i > 0 { fmt.Println(“i > 0”) } for true { fmt.Println(“i > 0”) } for { fmt.Println(“i > 0”) }
写法3
for range 语句 用来遍历数组、slice、map、chan
str := “hello world,中国” for i, v := range str { fmt.Printf(“index[%d] val[%c] len[%d]\n”, i, v, len([]byte(v))) }
写法4
break continue语句
str := “hello world,中国” for i, v := range str { if i > 2 { continue } if (i > 3) { break } fmt.Printf(“index[%d] val[%c] len[%d]\n”, i, v, len([]byte(v))) }
写法5
goto 和 label 语句
package main import "fmt" func main() { LABEL1: for i := 0; i <= 5; i++ { for j := 0; j <= 5; j++ { if j == 4 { continue LABEL1 } fmt.Printf("i is: %d, and j is: %d\n", i, j) } } }
package main func main() { i := 0 HERE: print(i) i++ if i == 5 { return } goto HERE }
练习
i := 0for { if i >= 3 { break } fmt.Println(“”, i) i++; } for i := 0; i<7 ; i++ { if i%2 == 0 { continue } fmt.Println(i) }
原文地址:https://www.cnblogs.com/weidaijie/p/11428242.html
- 微信加关注链接 一键关注公众号 解决用手机看网页无法扫二维码的烦恼
- springboot mybatis redis 二级缓存
- Elasticsearch强制重置未分配的分片(unassigned)
- 帝国cms调用缩略图和具体文章的方法
- python codis集群客户端(一) - 基于客户端daemon探活与服务列表维护
- python codis集群客户端(二) - 基于zookeeper对实例创建与摘除
- JavaScript replace() 方法
- 别让Open Sans字体拖慢wordpress后台速度
- Oracle 问题小结
- 为帝国cms模板添加站内搜索小教程
- 线程传参
- JQuery 小结
- 错误:该行已经属于另一个表
- RadioButtonList数据项不改变依然执行改变事件
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法