go语言中间的循环
在Go语言中只有很少的几个控制结构,它没有while或者do-while循环。
但是它有for、switch、if。而且switch接受像for那样可选的初始化语句。下面来认识一下他们
一、if语句
Go语言中的if像下面这个样子:
if x > 0 {
return y
} else {
return x
}
一般不需要加圆括号,不过,如果你写上,也是没有问题的(亲测,写上圆括号也可以的~~)。比如:

if (3>2) {
fmt.Println("test if")
}else if true {
fmt.Println("test else if")
}else{
fmt.Println("test else")
} //输出 test if

二、switch语句
Go的switch非常灵活。表达式不必是常量或整数。
而在java中switch后面的括号里面只能放int类型的值,注意是只能放int类型,但是放byte,short,char类型的也可以,
那是因为byte,short,shar可以自动提升(自动类型转换)为int,也就是说,你放的byte,short,shar类型,然后他们会自动转换为int类型(宽化,自动转换并且安全),
其实最后放的还是int类型!
switch语句执行的过程从上至下,直到找到匹配项,匹配项后面也不需要再加break(又跟java不一样哦!)

func switchFuncString(a string) {
//字符串
switch a {
case "test1":
fmt.Println("test1")
case "test2", "test3":
fmt.Println("testOhter")
default:
fmt.Println("NoTest")
} } func switchFuncInt(a int) {
//数字
switch a {
case 1:
fmt.Println("1")
case 2:
fmt.Println("2")
case 3:
fmt.Println("3")
}
} func switchFuncBool(c byte) {
//switch后面什么都没有?它会匹配true
switch {
case '0' <= c && c <= '9':
fmt.Println(c - '0')
case 'a' <= c && c <= 'f':
fmt.Println( c - 'a' + 10)
case 'A' <= c && c <= 'F':
fmt.Println( c - 'A' + 10)
}
}

但是如果,你就希望匹配之后,继续匹配下面一条怎么办呢?还是有办法的,使用“fallthrough”即可,例如:

func switchFuncInt(a int) {
//数字
switch a {
case 1:
fmt.Println("1")
fallthrough
case 2:
fmt.Println("2")
case 3:
fmt.Println("3")
}
}

调用switchFuncInt(1),打印出1和2来。
三、for循环
Go语言的For循环油3中形式,只有其中的一种使用分号。
- for init; condition; post { } 和C 的for 一样
- for condition { } 和while 一样
- for { } 和C 的for(;;) 一样(死循环)
直接上代码~~

package main import "fmt" func main() {
simpleFor() var test string = "asdfghjkl"
fmt.Println(reverse([]byte(test)))
} //打印0~9
func simpleFor() {
for i := 0; i < 10; i++ {
fmt.Println(i)
}
} // Reverse a
func reverse(a []byte) string {
//由于Go没有逗号表达式,而++和--是语句而不是表达式,
//如果你想在for中执行多个变量,应当使用平行赋值。
for i, j := 0, len(a)-1; i < j; i, j = i+1, j-1 {
a[i], a[j] = a[j], a[i]
}
return string(a)
}

分支、循环是很基础的东西,所以有必要多练练手~~
下面来做两个题目玩玩~~
1. 创建一个基于for的简单的循环。使其循环10次,并且使用fmt 包打印出计数器的值。
2. 用goto改写1的循环。保留字for不可使用。
3. 再次改写这个循环,使其遍历一个array,并将这个array打印到屏幕上。
代码:
go语言中间的循环的更多相关文章
- C语言-for循环
for循环是C语言中的循环语句之一,它的一般形式为for(初值,条件表达式,步长){语句};初值通常是一个赋值语句, 它用来给循环控制变量赋初值: 条件表达式是一个关系表达式, 它决定什么时候退出循环 ...
- 怎么绘制C语言选择和循环语句的思维导图
C语言是一门非常基础的计算机语言,是大部分本科学生的公共专业,在C语言的学习中,选择和循环语句是至关重要的部分,利用思维导图可以有效节约时间并加深知识点记忆. 接下来就为大家介绍一下我用iMindMa ...
- C语言利用for循环打印菱形
C语言利用for循环打印菱形(高度为奇数) 这次用的方法是上下部分分开打印,先打印上部分,再打印下部分. 先举个简单的例子打印,再改进代码,登堂入室从而理解. 例:打印一个高度(高度必须为奇数)为 5 ...
- [08 Go语言基础-for循环]
[08 Go语言基础-for循环] 循环 循环语句是用来重复执行某一段代码. for 是 Go 语言唯一的循环语句.Go 语言中并没有其他语言比如 C 语言中的 while 和 do while 循环 ...
- JS脚本语言里的循环
js脚本语言: 循环:(循环操作某一个功能(执行某段代码)) 四要素: 循环初始值 循环条件 状态改变 循环体 for(穷举 迭代) while 举例:(穷举) 与7相关的数 <scr ...
- 电脑小白学习软件开发-C#语言基础之循环重点讲解,习题
写代码也要读书,爱全栈,更爱生活.每日更新原创IT编程技术及日常实用视频. 我们的目标是:玩得转服务器Web开发,搞得懂移动端,电脑客户端更是不在话下. 本教程是基础教程,适合任何有志于学习软件开发的 ...
- [转] Lisp语言:Do循环的使用
转自http://blog.csdn.net/keyboardota/article/details/8240250 有关Lisp语言中的Do循环,就像很多人说的一样,初看起来太奇怪了,不知道怎么理解 ...
- C语言中的循环语句练习
注:练习题目均出自<明解C语言 入门篇> 一.do语句 1,求多个整数的和及平均值 #include<stdio.h> int main(void) { ; //和 ; //整 ...
- C/C++——C语言跳出多重循环方法
c语言的break语句只能跳出离它最近的一层循环,但是我们有时候需要跳出多层循环,以下有几种跳出多重循环的方法: 1. 使用goto ; i < MAX1; i++) { ; j < MA ...
随机推荐
- Python time clock()方法
描述 Python time clock() 函数以浮点数计算的秒数返回当前的CPU时间.用来衡量不同程序的耗时,比time.time()更有用. 这个需要注意,在不同的系统上含义不同.在UNIX系统 ...
- I'm Telling the Truth(二分图)
.I'm Telling the Truth Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ...
- logo上线
- Uva 1347,旅行
题目链接:https://uva.onlinejudge.org/external/13/1347.pdf 这个题和uva 1658题目很像,只是加了一点,就是每个点都要走,刚开始,我以为可以直接拆点 ...
- Poj(3522),UVa(1395),枚举生成树
题目链接:http://poj.org/problem?id=3522 Slim Span Time Limit: 5000MS Memory Limit: 65536K Total Submis ...
- httpclient4.3.6/httpcore-4.4自己封装的工具类
引入jar包 httpclient4.3.6/httpcore-4.4 package com.develop.util; import java.io.IOException; import jav ...
- Android中的sharedUserId属性详解
在Android里面每个app都有一个唯一的linux user ID,则这样权限就被设置成该应用程序的文件只对该用户可见,只对该应用程序自身可见,而我们可以使他们对其他的应用程序可见,这会使我们用到 ...
- Java提高篇---Map总结
一.Map概述 首先先看Map的结构示意图 Map:"键值"对映射的抽象接口.该映射不包括重复的键,一个键对应一个值. SortedMap:有序的键值对接口,继承Map接口. Na ...
- vs自带iis局域网调试
http://www.cnblogs.com/liluping860122/p/4685564.html
- C语言第2天基本运算
getchar 一.首先给出<The_C_Programming_Language>这本书中的例子: #include <stdio.h> int main( ) { ...