Go入门(四)-流程控制与struct - Go语言中文社区

Go入门(四)-流程控制与struct


4 流程控制
编程语言有三宝:条件判断,循环,跳转,Go也不例外。
4.1 条件判断if和else
4.1.1 条件判断里面不需要括号;
4.1.2 可以声明一个变量,该变量只在条件逻辑块内有效; 

4.2 for循环
4.2.1 标准表达式如下:
for expression1; expression2; expression3 {
//
}

4.2.2 简略表达式,跟我们的java的while是一样的:

4.3 for使用range关键字读取slice和map,如果使用符号“_”代替k,表示放弃读取key,

5 switch
用于基于不同条件执行不同动作,每一个 case 分支都是唯一的,从上直下逐一测试,直到匹配为止。基本表达式如下:
switch var1 {
    case val1:
        ...
    case val2:
        ...
    case val3,val3.1 val3.2:
    ...
    default:
        ...
}
5.1 switch的表达式var1可以使用任意类型,val2,val3可以是任意类型,但必须是相同的类型;

5.2 如果没有表达式,会匹配true;
5.3 找到匹配项后,不需要加break,程序不会继续匹配余项,如果需要继续执行其他case的内容,使用关键字fallthrough,这时候,不会再执行case的条件判断

结果会输出:
优秀!
良好
及格

5.4 可以进行某个 interface 变量中实际存储的变量类型;

输出结果如下:
 x 的类型 :<nil>

6 struct
6.1 Go的结构体,你可以先简单地理解为一个实体类,基本表达式如下:

6.2 初始化的方式有如下几种:

6.2 匿名字段,当结构体A,有一个结构体B的字段,则A拥有结构体B所有的字段,类似java的继承,匿名字段支持所有内置类型和自定义类型;
6.3 如果引入的结构体与本结构有相同的字段,先访问外层,也就是本结构体的字段;

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_16911027/article/details/77756363
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2019-09-04 16:43:42
  • 阅读 ( 924 )
  • 分类:Go

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢