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)
}
}
}
 

随机推荐

  1. 在Spring Boot使用H2内存数据库

    文章目录 添加依赖配置 数据库配置 添加初始数据 访问H2数据库 在Spring Boot使用H2内存数据库 在之前的文章中我们有提到在Spring Boot中使用H2内存数据库方便开发和测试.本文我 ...

  2. 比特大陆发布终端 AI 芯片 端云联手聚焦安防

    雷帝网 乐天 10月17日报道 比特大陆今日正式发布终端人工智能芯片BM1880,一同发布的还有基于云端人工智能芯片 BM1682 的算丰智能服务器 SA3.嵌入式AI迷你机 SE3.3D 人脸识别智 ...

  3. mybatis源码学习(三):MappedStatement的解析过程

    我们之前介绍过MappedStatement表示的是XML中的一个SQL.类当中的很多字段都是SQL中对应的属性.我们先来了解一下这个类的属性: public final class MappedSt ...

  4. 动态调用webSerivce-简易方法

         大家对webservice已经不再陌生了,涉及到的通信大部分都是用webservice.不过我还是看好wcf,因为毕竟是微软推出的新技术,各个方面还是蛮不错的,特别是你可以利用多种通信方式, ...

  5. #if 和#ifdef的区别

    转自:https://blog.csdn.net/zhangchiytu/article/details/7563329 先看个例子:#define TARGET_LITTLE_ENDINA 1#de ...

  6. 通过例题进一步学习DP

    1.以上篇文章数塔为例 https://blog.csdn.net/weixin_43627118/article/details/88701586 上一章用的是递归的做法,这次我们采用递推的做法. ...

  7. SVN 部署(基于 Linux)

    1.通过 yum 命令安装 svnserve,命令如下: # 此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行 yum -y install subversion # 若需查看 ...

  8. 在linux上搭建nacos集群(步骤详细,linux小白也搞得定)

    (1)nacos官网:https://github.com/alibaba/nacos/releases/tag/1.2.1下载nacos安装包到window本地(后缀为tar.zip) (2)在li ...

  9. Flutter 1.17版本重磅发布

    Flutter 1.17 是2020年的第一个稳定版本,此版本包括iOS平台Metal支持(性能更快),新的Material组件,新的Network跟踪工具等等! 对所有人来说,今年是充满挑战的一年. ...

  10. Oracle的三种循环

    一.loop循环 语法:声明循环变量loop判断循环条件 ,如果循环条件不成立,跳出循环if 条件表达式 thenexit;end if;语句块;改变循环变量的值end loop; 举例:输出1到10 ...