语言编奇数和合偶数和_Go语言基础(三)
Go语言基础(三)
一、if流程控制
二、for流程控制
三、switch case
四、goto跳转指定标签
一、if流程控制
Go语言中最常用的流程控制if和for,而switch和goto主要是为了简化代码,降低重复代码而生的结构,属于扩展类的流程控制。
1、if条件判断
package mainimport "fmt"func main(){age := 19if age > 18 {fmt.Println("澳门首家上线赌场开业了!")} else {fmt.Println("改写暑假作业啦!")}
}
2、多个判断条件
package mainimport "fmt"func main(){age := 19if age > 35 {fmt.Println("人到中年!")} else if age > 18 {fmt.Println("青年!")} else {fmt.Println("好好学习!")}
}
3、if语句的特殊用法
package mainimport "fmt"func main(){// 此时age的作用域只在if判断语句中生效。if age := 19; age > 18 {fmt.Println("澳门首家上线赌场开业了!")} else {fmt.Println("改写暑假作业啦!")}
}
二、for流程控制
1、标准循环
for循环的基本格式如下:
for 初始语句;条件表达式;结束语句{循环体语句
}
举个例子:
package mainimport "fmt"func main(){for i := 0; i < 10; i++ {fmt.Println(i)}
}
for循环的初始语句可以省略,但是初始语句后面的分号必须要写,比如:
package mainimport "fmt"func main(){var i = 0for ; i < 10; i++ {fmt.Println(i)}
}
for循环的初始语句和结束语句都可以省略,例如:
package mainimport "fmt"func main(){var i = 0for i < 10 {fmt.Println(i)i++}
}
2、无限循环
for {循环体语句
}
for循环可以通过break、goto、return、panic语句强制退出循环。
break强制退出循环:
package mainimport "fmt"func main(){for i := 1; i < 10; i++ {// 当i=5就跳出循环if i == 5 {break}fmt.Println(i)}fmt.Println("over")
}
continue跳过本次循环:
3、for range键值循环
Go语言中可以使用for range遍历数组、切片、字符串、map及通道,通过for range遍历的返回值有以下规律:
a、数组、切片、字符串返回索引与值
b、map返回键和值
c、通道只返回通道内的值
package mainimport "fmt"func main() {s := "Hello河南!"for i, v := range s {fmt.Printf("%d %cn", i, v)}
}
// 0 H
// 1 e
// 2 l
// 3 l
// 4 o
// 5 河
// 8 南
// 11 !
// 从输出结果可以看出一个汉字占3个字节
4、小练习——打印九九乘法表
package mainimport "fmt"func main(){for i := 1; i < 10; i++ {for j := 1; j <= i; j++ {fmt.Printf("%dx%d=%dt", j, i, j*i)}fmt.Println()}
}
三、Switch case
使用switch语句方便对大量的值进行条件判断:
package mainimport "fmt"func main(){var n = 5if n == 1 {fmt.Println("大拇指")} else if n == 2 {fmt.Println("食指")} else if n == 3 {fmt.Println("中指")} else if n == 4 {fmt.Println("无名指")} else if n == 5 {fmt.Println("小拇指")} else {fmt.Println("无效的数字")}
}
接下来使用switch简化上面代码:
package mainimport "fmt"func main(){var n = 5switch n {case 1:fmt.Println("大拇指")case 2:fmt.Println("食指")case 3:fmt.Println("中指")case 4:fmt.Println("无名指")case 5:fmt.Println("小拇指")default:fmt.Println("无效的数字")}
}
switch中的一个分支可以有多个值,多个case值中间使用英文逗号分隔。
package mainimport "fmt"func main(){switch n := 7; n {case 1, 3, 5, 7, 9:fmt.Println("奇数")case 2, 4, 6, 8:fmt.Println("偶数")}
}
分支还可以使用表达式,例如:
package mainimport "fmt"func main(){age := 30switch {case age < 25:fmt.Println("好好学习吧")case age > 25 && age < 35:fmt.Println("好好工作吧")case age > 60:fmt.Println("好好享受吧")default:fmt.Println("活着真好!")}
}
fallthrough语法可以执行满足条件的case的下一个case,为了兼容C语言中case设计的。
package mainimport "fmt"func main(){s := "a"switch {case s == "a":fmt.Println("a")fallthroughcase s == "b":fmt.Println("b")case s == "c":fmt.Println("c")default:fmt.Println("...")}
}
四、goto跳转到指定标签
goto语句通过标签进行代码间无条件跳转,goto语句可以快速跳出循环、避免重复,Go语言中使用goto简化一些代码的实现过程,例如双层嵌套的for循环要退出时:
package mainimport "fmt"func main(){for i := 0; i < 10; i++ {for j := 0; j < 10; j++ {if j == 2{goto breakTag}fmt.Println("%v-%vn", i, j)}}
breakTag:fmt.Println("结束for循环")
}
当然也有别的办法可以跳出多层for循环:
package mainimport "fmt"func main(){var flag = falsefor i := 0; i < 10; i++ {for j := 0; j < 10; j++ {if j == 2{flag = truebreak}fmt.Printf("%d-%dn", i, j)}if flag {break}}
}
我是尾巴
每日一句毒鸡汤:
人之所以活得糟糕,百般不顺,并不是某个选择出现了问题,而是一个人每天的状态注定了他最终可选择的范围,而一个人的性格注定了他在关键时刻会做出怎样的选择。
本次推荐:
程序员工具箱:
在线工具tool.lu
继续加油~
语言编奇数和合偶数和_Go语言基础(三)相关推荐
- 语言编奇数和合偶数和_不同的语言怎样求解奇数和?
对于如何实现求解1到100的奇数和,这里我给出了java和matlab的编程,两种编程的思想差不多但是在细微上有些许偏差.两个编程语言都采用的是循环.条件语句来实现. Java.matlab学习是一个 ...
- [PTA]C语言 判断奇数和偶数
输入一个整数,判断该数是奇数还是偶数. 输入格式: 输入整数n. 输出格式: 如果该数是奇数就输出"odd",偶数就输出"even"(输出不含双引号). 输入样 ...
- c语言 一个数组奇数左边 偶数右边,C语言设计实验报告(第七次)
姓名:龚政 实验地点:寝室 实验时间:2020.6.1 实验项目:8.3.1指针基础及指针运算:8.3.2数据交换:8.3.3字符串反转及字符串连接:8.3.4数组元素奇数偶数排列 实验目的与要求 加 ...
- 判断奇数还是偶数【c语言】
要求:判断一个数是奇数还是偶数 法1:三目运算符实现 int main() {int num = 5;num % 2 == 0 ? printf("yes") : printf(& ...
- c语言奇数正偶数负,C语言二级考试练习题循环控制结构(二)
<C语言二级考试练习题循环控制结构(二)>由会员分享,可在线阅读,更多相关<C语言二级考试练习题循环控制结构(二)(21页珍藏版)>请在人人文库网上搜索. 1.1)具有以下程序 ...
- r语言error in match.fun(fun) :_Go语言200行写区块链源代码分析
Github上有一个Repo,是一个使用Go语言(golang),不到200行代码写的区块链源代码,准确的说是174行.原作者起了个名字是 Code your own blockchain in le ...
- C语言编棱,2009计算机二级C语言:C语言棱形图案写法
2009计算机二级C语言:C语言棱形图案写法 分类:计算机等级 | 更新时间:2016-07-07| 来源:中华网考试 #include #include using namespace std; # ...
- go语言的iota是什么意思_go语言基础之iota枚举
1.iota (在常量的时候,当成枚举使用) 示例1 package main import "fmt" func main() { //1.iota常量自动生成器,每个一行,自动 ...
- c++语言编的小游戏,用C++语言编写小游戏系统(可读取文件)
#include #include #include #include #include #include #include #include #include using namespace std ...
- C语言-实现对单循环链表中奇数和偶数结点的移动(前面奇数结点后面偶数结点)
单循环链表是C语言中比较常见的一种链式储存结构. 相较于普通的单链表,其特点就在于单循环链表的尾指针指向的是头结点. 即: 1.单链表 2. 单循环链表的有点就在于方便访问第一个结点,还方便访问最后一 ...
最新文章
- 业界丨一文看懂AI人才百万美元年薪因何而来?
- iOS友盟推送发送失败
- 数据结构与算法笔记(八)—— 插入排序
- php 反射原理,PHP反射机制详解
- SAP Spartacus cx-table加了cxFocus指令后的测试效果
- SAP CRM WebClient UI的on_new_focus应该怎么理解
- php搜索数据库设计,PHP数据库搜索功能设计
- 查看某个分区之前所有的数据_腾讯大数据面试真题汇总
- python对象属性是与数据有关的项目_python之对象产生,属性(定义的值)的查找原则,对象绑定关系...
- java需要知道哪些英语单词_70个学习JAVA必背的英语单词,了解下
- 小写和大写开头的英文名字 internet 和Internet在意思上有何重要区别?
- java swing 实现鼠标滑轮聚焦缩放图片
- 刷题笔记之十 (小易的升级之路+找出字符串中第一个只出现一次的字符+洗牌+MP3光标位置)
- 心醉花海,芳菲春色入梦来
- 磁悬浮惯性动量轮技术_第2章_磁悬浮惯性动量轮的总体结构
- cesium画飞线_Cesium+earthSD实现相机飞行动画
- NFS搭建与自动挂载
- PCIe基础知识及Xilinx相关IP核介绍
- 字符串转换为整数”123“-123
- 外挂,一个因“快感”而崛起的暴利行业