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 注意:这 ...
随机推荐
- EF的简单认识
EF的简单认识 EF简介 EntityFramwork是微软提供的一款ORM框架(Object Relational Mapping),实体映射模型,它的底层是ADO.NET的机制,使用EF将省去 ...
- Oracle expdp数据泵导出,并在文件上附加上日期格式
一.导出操作的计算机要安装Oracle Client(建议管理员版本) 二.在服务端创建目录 create directory dpdir as '目录'; 三.给目录赋权限 grant read,w ...
- VS启动调试速度异常的缓慢问题
方法1: 1. 进入vs2017 2.工具 --选项 -- IntelliTrace 关闭此功能 方法2: 1.由于缓存数据太多,需要重置下vs的开发环境 2.打开visual studio 的命名窗 ...
- Retrofit 实现获取往里圆角图片,且传值到另一个页面
记得加网络权限 java包: // compile 'jp.wasabeef:glide-transformations:3.0.1' implementation 'com.squareup.ret ...
- Java作业十二(2017-11-13)
/*继承与抽象类*/ package com.baidu.www; abstract class Person { private String name; private int age; publ ...
- Java Bloom filter几种实现比较
英文原始出处: Bloom filter for Scala, the fastest for JVM 本文介绍的是用Scala实现的Bloom filter. 源代码在github上.依照性能测试结 ...
- 十几分钟让你学会MySQL布尔和延迟盲注手工操作
作者:Max老白Gān丶链接:http://www.lofter.com/lpost/1fefbc76_12d25dc31来源:LOFTER 注入常用到的几个函数 1 mid(str,1,3) 字 ...
- 私有云的难处—为什么需要CloudEngine?
私有云的难处 ——我们为什么需要 CloudEngine? 郑昀 创建于2016/7/31 最后更新于2016/8/3 关键词: 容器.Docker.OpenStack.虚拟机.私有云.Mesos.配 ...
- [Swift]LeetCode162. 寻找峰值 | Find Peak Element
A peak element is an element that is greater than its neighbors. Given an input array nums, where nu ...
- Python内置函数(18)——enumerate
英文文档: enumerate(iterable, start=0) Return an enumerate object. iterable must be a sequence, an itera ...