golang选择和循环

像所有语言的一样,go语言也提供了关键字实现选择,if  else  switch 

switch语句的用法

switch   {

case n <  0:

    fmt.Println("n < 0")

case  n > 0:

    fmt.Println("n > 0")

default:

   fmt.Println("=0")

}

上述代码中,无论满足哪个case 条件,都不需要break,这与java不同,但可以使用default语句,

go语言的循环只提供了for关键字,没有while等其他关键字,因为for完全可以替代while,这一点符合go语言简洁的风格。for循环是编程中最常见的循环,我们可以通过变量控制循环的次数

for   i  := 0; i < 100 ;i ++ {

}

循环一共会执行100次,当达到100时循环结束。i的作用域是这个for循环,我们可以在大括号内使用i,如果要在100次循环完成前结束循环,可以用break,如果仅仅是结束本次循环代码块内上虞的代码然后继续开始下一次循环,可以用continue

go语言没有提供while关键词,那我们如果使用for  来实现while的功能呢?for  {}

即直接写for 就相当于while,如果需要结束循环,在for代码块内使用判断break就可以

如果需要模仿do...while,可以使用另一种方式

for  ok:= ture ;ok;ok=expression { }一旦expression返回值为false,则循环结束

这样while可以做到的完全可以使用for来代替了

package main

import "fmt"

func main() {
	for i := 0; i < 10; i++ {
		if i%2 == 0 {
			continue
		}
		fmt.Println(i, "")
	}//  取奇数
	fmt.Println()
	i := 5
	for {
		if i < 1 {
			break
		}
		fmt.Print(i, " ")
		i--
	}  //递减
	fmt.Println()
	arr := []int{1, 2, 3, 4, 5}
	for i, v := range arr {
		fmt.Println("index:", i, "value:", v)
	}
}// 遍历数组

go语言的垃圾回收也是自动实现的,本节将介绍go语言的垃圾自动回收功能,所谓垃圾回收,就是释放那些不会再使用的程序所占的空间,比如已经没有引用的变量,垃圾回收过程是go程序并发执行的

  很多语言都有垃圾回收机制,java  python,对应的垃圾回收策略也有不同,比较著名的垃圾回收机制有引用计数,分代收集,标记清除。go语言的垃圾回收机制是三色标记算法。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值