• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Go语言_通神路之灵胎篇(4)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1、for循环

func main()  {
   sum := 0
   for i := 0;i<10 ;i++  {
      sum += i
   }

   fmt.Print(sum)
}

和java的for循环类似,只不过go的这个for循环没有括号,下面是java的for循环对比

public void test5(){
    int sum = 0;
    for (int i =0;i<10;i++){
        sum +=i;
    }
}

go的for循环包含三个:

  • 初始化语句:在第一次迭代前执行
  • 条件表达式:在每次迭代前求值
  • 后置语句:在每次迭代的结尾执行
package main

import "fmt"

func main()  {
   sum := 1
   for ; sum < 1000; {
      sum += sum
   }
   fmt.Println(sum)
}

这是go的for循环升级版,上面提到的初始化语句和后置语句是可选的。这个时候我们可以更加简化他,把分号也去掉,如下:

package main

import "fmt"

func main()  {
   sum := 1
   for sum < 1000 {
      sum += sum
   }
   fmt.Println(sum)
}

2、if条件语句

func getMax(a,b int) int {
   if a>b {
      return a
   }else if b>a {
      return     b
   } else {
      return 0
   }
}

go的if else和java也不一样,一样是if 后面没有括号,else if 后面也没有括号

3、switch语句

func getOne(i int)  {
   switch i {
   case 0:
      fmt.Println("数据结果为0的数据")
   case 1:
      fmt.Println("数据类型为1的属性")
   default:
      fmt.Println("都没有")

   }
}

func main()  {
   getOne(7)
}

switch从上到下运行,匹配则结束,没有直接使用default的值

 

4、defer函数

defer 语句会将函数推迟到外层函数返回之后执行,推迟调用的函数其参数会立即求值,但直到外层函数返回前该函数都不会被调用

func main()  {

   defer fmt.Println("嘻嘻")

   fmt.Println("哈哈")
}

结果为:

推迟的函数调用会被压入一个栈中。当外层函数返回时,被推迟的函数会按照后进先出的顺序调用

转载于:https://my.oschina.net/mdxlcj/blog/1931425


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
go mod怎么玩?发布时间:2022-07-10
下一篇:
Go语言goget找不到google.golang.org/protobuf/encoding/prototext解决办法  ...发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap