4.3 Go for
4.3 Go for
Go的for循环是一个循环控制结构,可以执行循环次数。
语法
package main import "fmt" func main() {
//创建方式一,循环条件是布尔值表达式
num := 0
for num <= 10 {
fmt.Println("我说老男孩golang 你说哟", num)
num++
} //创建方式二,无限循环,go不存在while语法
num1 := 0
for {
if num1 <= 10 {
fmt.Println("人生苦短 说go就go", num1)
} else {
break //超出了就终止这个for循环
}
num1++ //等于num1=num1+1
} fmt.Println("----------")
//创建方式三 for-range 用于遍历字符串、数组
var teacher = "wu pei qi"
//字符串可以用索引取值,注意格式化输出的时候,要输出码值对应的字符 %c 格式化
for i := 0; i < len(teacher); i++ {
fmt.Printf("%c\n", teacher[i])
}
fmt.Println("----------") //创建方式四
student := "chaoge牛逼"
//for range遍历,是按照字符方式遍历,支持中文
for k, v := range student {
fmt.Printf("索引:%v 值:%c\n", k, v)
}
fmt.Println("----------")
//传统遍历字符串是按字节遍历,汉字对应utf8编码是3个字节
var class1 string = "python全栈开发班"
//必须转化为[]rune切片类型,方可使用
class2 := []rune(class1)
for i := 0; i < len(class2); i++ {
fmt.Printf("%c\n", class2[i])
}
}
打印乘法表,层数由用户输入
package main import "fmt" func main() {
var num int
fmt.Println("请输入层数:")
fmt.Scanln(&num)
//i表示层数
for i := 1; i <= num; i++ {
//j表示每层打印多少
for j := 0; j <= i; j++ {
fmt.Printf("%v * %v = %v \t", j, i, j*i)
}
fmt.Println()
}
}
三次登录
package main import "fmt" func main() {
var name string
var pwd string
var logincache = 3
//循环限制三次登录
for i := 1; i <= 3; i++ {
fmt.Println("请输入账号:")
fmt.Scanln(&name)
fmt.Println("请输入密码:")
fmt.Scanln(&pwd)
if name == "alex" && pwd == "alex3714" {
fmt.Println("欢迎鸡汤王归来!!")
break
} else {
logincache-- //每次登录失败减一
fmt.Printf("你还有%v次机会尝试,老铁\n", logincache)
}
}
}
随机推荐
- elementaryos5安装mysql5.7、php7.2、nginx1.14.0
一.mysql5.7 安装mysql5.7: sudo apt-get install mysql-server-5.7 查看安装的mysql版本: mysql -V 5.7版本mysql安装过程中以 ...
- (第五篇)Linux操作系统基本结构介绍
Linux操作系统基本结构介绍 Linux系统一般有4个主要部分:内核.shell.文件系统和应用程序.内核.shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序.管理文件并使用 ...
- 异常:NoSuchFieldError: BEST_MATCHING_HANDLER_ATTRIBUTE
出现的原因 pom 依赖之间不匹配导致 当前的 pom 调整后访问资源成功后面的 pom
- 非阻塞算法(Lock-Free)的实现
目录 非阻塞的栈 非阻塞的链表 非阻塞算法(Lock-Free)的实现 上篇文章我们讲到了使用锁会带来的各种缺点,本文将会讲解如何使用非阻塞算法.非阻塞算法一般会使用CAS来协调线程的操作. 虽然非阻 ...
- vue2.0学习笔记(第八讲)(vue-cli的使用)
vue-cli相当于脚手架,可以帮助我们自动生成模板工程.其内部集成了很多的项目模板,如simple.webpack.webpack-simple等.其中webpack这个项目模板适用于大型项目的开发 ...
- 运用shell脚本 执行sftp,ftp命令
sftp文件上传(从本地上传到远程) #!/bin/bash #远程上传文件测试 if [ $# -ne 2 ] then echo "miss arguments" echo & ...
- 机器学习之分类回归树(python实现CART)
之前有文章介绍过决策树(ID3).简单回顾一下:ID3每次选取最佳特征来分割数据,这个最佳特征的判断原则是通过信息增益来实现的.按照某种特征切分数据后,该特征在以后切分数据集时就不再使用,因此存在切分 ...
- resetlogs 打开数据库时新生成日志位置问题
若系统中缺少联机日志,以resetlogs方式重建控制文件,那么当我们以alter database open resetlogs方式打开数据库时,新生成的联机日志会位于何处? 一:下面分别讨论几种情 ...
- Clickhouse 条形图📊函数展示
Clickhouse 条形图
- 数学--数论--HDU 2674 沙雕题
WhereIsHeroFrom: Zty, what are you doing ? Zty: I want to calculate N!.. WhereIsHeroFrom: So easy! H ...