Go开发之路 -- 流程控制
1. if else
if 条件 {
} else { // else必须写在这里
}
// 写一个程序, 从终端读取输入, 并转成整数. 如果转成整数出错,
// 则输出'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) }
练习 10
2. swith case
swith var {
case var1:
case var2:
case var3:
default:
}
// 猜数字, 写一个程序,随机生成一个0 到100 的整数n,
// 然后用户在终端输入数字,如果和n 相等,则提示用户猜对了
// 如果不相等,则提示用户,大于还是小于n package main import (
"fmt"
"math/rand"
) func main(){
n := rand.Intn()
flag := true
for flag {
var number int
fmt.Scanf("%d\n", &number)
switch {
case number == n:
fmt.Println("猜对了.")
flag = false
case number > n:
fmt.Println("大了.")
case number < n:
fmt.Println("小了.")
} }
}
练习11
3. for 语句
/*
写一个程序, 在终端打印如下图形:
A
AA
AAA
AAAA
AAAAA
*/ package main import (
"fmt"
"strings"
) func main() {
var s string = "A"
for i := ; i < ; i++ {
res := strings.Repeat(s, i)
fmt.Println(res)
}
}
练习 12
4. for range
5. break continue
package main
import "fmt"
func main(){
str := "hello, 中国"
for index, value := range str {
fmt.Println(index, value) // 打印的值是ASCII码
fmt.Printf("index[%d], value[%c], len[%d]\n", index, value, len([]byte(string(value))))
}
for index, value := range str {
if index > {
continue
}
if index > {
break
}
fmt.Println(index, value)
}
}
6. goto和label语句
package main
func main() {
i :=
HERE:
print(i)
i++
if i == {
return
}
goto HERE
}
Go开发之路 -- 流程控制的更多相关文章
- GO语言的进阶之路-流程控制
GO语言的进阶之路-流程控制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 流程控制在编程语言中是最伟大的发明了,因为有了它,你可以通过很简单的流程描述来表达很复杂的逻辑.流程控制 ...
- 喵的Unity游戏开发之路 - 玩家控制下的球的滑动
- lishell学习之路:流程控制(case)
流程控制case语句: 介绍:多分支case条件语句 1.case语句和if..elif..else语句一样都是多分支条件语句,不过和if多分支条件语句不同的是,case语句只能判断一种条件关系,而i ...
- Python全栈之路----流程控制+循环
(一)流程控制 1.单分支结构 if 条件: 满足条件后要执行的代码 2.双分支结构: if 条件: 满足条件后要执行的代码 else : if 不满足就执行这个代码 3.多分支结构:if ...
- shell学习之路:流程控制(while)
while循环: 介绍:while循环是不定循环,也称作条件循环.只要条件判断成立,循环就会一直继续执行,直到条件判断不成立,循环才会停止,这就是和for的固定循环不太一样了. while [ 条件判 ...
- shell学习之路:流程控制(for)
for循环的语法: 1. for 变量 in 值1 值2 值3.... do 程序 done 例如:下列脚本会分别打印4次 分别是morning noon afternoon evening的值 # ...
- shell学习之路:流程控制(if)
1.单分支if条件语句 if [ 条件判断式 ];then 程序 fi 或者 if [ 条件判断式 ] then 程序 fi 注意事项: 1.if语句使用fi结尾,和一般语言使用大括号结尾不同 2.[ ...
- python全栈开发-Day2 布尔、流程控制、循环
python全栈开发-Day2 布尔 流程控制 循环 一.布尔 1.概述 #布尔值,一个True一个False #计算机俗称电脑,即我们编写程序让计算机运行时,应该是让计算机无限接近人脑,或者说人 ...
- iOS开发Swift篇—(六)流程控制
iOS开发Swift篇—(六)流程控制 一.swift中的流程控制 Swift支持的流程结构如下: 循环结构:for.for-in.while.do-while 选择结构:if.switch 注意:这 ...
随机推荐
- 控件包含代码块(即 <% ... %>),因此无法修改控件集合。
原因分析:在head里写的js代码中包含了<%=...%>代码 解决:把js的代码放到body中...
- truffle 开发入门教程
1.安装nodejs 2.安装truffle:执行命令: npm install -g truffle 3.truffle init (可加项目名) 4.windows 要删除根目录中的 truff ...
- .NET 应用架构电子书中文版
<.NET 微服务:容器化 .NET 应用架构指南> 本书主要介绍了基于容器和微服务的应用架构和设计原则,以及基于 .NET Core 和 Docker 容器的应用程序开发实践.为了让大家 ...
- [AI开发]Python+Tensorflow打造自己的计算机视觉API服务
"与其停留在概念理论层面,不如动手去实现一个简单demo ." ——鲁迅 没有源码都是耍流氓github 前言 目前提供AI开发相关API接口的公司有很多,国外如微软. ...
- 【安富莱】【RL-TCPnet网络教程】第7章 RL-TCPnet网络协议栈移植(裸机)
第7章 RL-TCPnet网络协议栈移植(裸机) 本章教程为大家讲解RL-TCPnet网络协议栈的裸机移植方式,学习了上个章节讲解的底层驱动接口函数之后,移植就比较容易了,主要是添加库文 ...
- Redis 设计与实现 (六)--发布订阅
发布订阅 相关命令:publish(发布) subscribe(订阅) psubscribe(支持通配符匹配) 发布者--频道--订阅者(发布和订阅都是客户端频道是服务端) 1.publish- ...
- 目标文件去除header一行开头的#号
请按照如下步骤进行配置: --> 打开session的Config Object选项卡,并编辑Custom Properties选项 --> 编辑Custom Properties项目 ...
- CMake根据平台移植检查设置文件编译选项
#添加函数检查功能 include(CheckFunctionExists) //检查系统是否支持accpet4,将检查结果设置至HAVE_ACCEPT4 check_function_exists( ...
- 面向对象-Java MOOC翁恺老师第一次作业
由于看这个慕课的时候已经结课了,没有办法提交查看代码是否正确...先保存一下,以后再提交改错 欢迎批评指正! 题目链接:https://www.icourse163.org/learn/ZJU-100 ...
- mogodb分片配置
下图展示了在MongoDB中使用分片集群结构分布: 上图中主要有如下所述三个主要组件: Shard: 用于存储实际的数据块,实际生产环境中一个shard server角色可由几台机器组个一个repli ...