栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

04控制结构

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

04控制结构

文章目录
  • 分支结构
    • if-else
    • switch-case
  • 循环结构
    • 类似while的for循环
    • 类c的for循环
    • 迭代循环

分支结构 if-else

if和else if的控制条件不用使用括号括住。但要记住,执行开始的左括号{要和条件位于同一行。例子:

rand.Seed(time.Now().Unix())//设置随机种子
a:=rand.Intn(3)//在0,1,2中随机
if a==0{   //{要和条件语句在同一行
    fmt.Println("a=0")
}else if a==1{
    fmt.Println("a=1")
}else {
    fmt.Println("a=2")
}
switch-case

和c++语言不同。go中的case不用每一条都去加break语句。当匹配了其中一个case后,会自动退出。

rand.Seed(time.Now().Unix())
a:=rand.Intn(3)
switch a {
case 0:
    fmt.Println("a=0")
case 1:
    fmt.Println("a=1")
default:
    fmt.Println("a=2")
}

同时,go中的switch-case还可用于接口类型的判断。根据类型去执行不同的case,这在函数参数传递中比较有用。例子:

func type_switch(a interface{}){
	switch a.(type) {
	case int:
		fmt.Println("int 型",a)
	case float64:
		fmt.Println("float64 型",a)
	case bool, string:
		fmt.Println("bool 或 string 型",a )
	default:
		fmt.Println("未知型",a)
	}
}
func main() {
	a:=true
	b:=123
	c:=1.2
	type_switch(a)
	type_switch(b)
	type_switch(c)
}

循环结构 类似while的for循环

go中没有while作为关键字的循环。但以下循环和while相似:

a:=1
for a<10{
    fmt.Print(a," ")
    a++
}

类c的for循环

c语言中,for循环的形式一般为:for(int i=0;i<10;i++)。go中和这个写法相似的for循环写法为:

for a:=1;a<10;a++{
    fmt.Print(a," ")
}
迭代循环

作用与可迭代的参数上。对于切片和数组,接收的第一个参数为下标,第二个参数为下标对应的值*(可以不接收第二个参数)。对于map,第一个参数为key,第二个参数为key对应的value(可以不接受)*。例子:

var a []int=make([]int,5)
for i:=range a{//只接收一个参数。即为a的下标
    a[i]=i*i
}
for _,k:=range a{//_代表接收但是不打算使用。k为a的元素
    fmt.Print(k," ")
}

a[i]=ii
}
for _,k:=range a{//_代表接收但是不打算使用。k为a的元素
fmt.Print(k," ")
}
/

输出:
0 1 4 9 16
*/

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/315952.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号