Go语言入门指南:常用语法和常用特性解析(二) | 青训营

52 阅读2分钟

在学习完变量数据与类型之后,我开始学习了Go语言相关运算符以及流程控制,由于Go语言中的运算符与c语言等类似,所以本文省略,直接描述Go需要的流程控制

流程控制

一、if语句

(1)if单分支 if后面的表达式返回结果为true或者false,true执行,false不执行。

但是在这里if语句有所不同,在c语言等编程语言中,当if后面只有一条语句时,{}可以省略,但在Go语言中,无论几条语句,都不能省略。

if后面的条件表达式左右的()是建议省略的

if后面可以并列加入变量的定义

if count:=20;count<25

(2)if双分支 以下才是if语句正确表达式,else需要接在if表达式的大括号的后面,如果换行,则会报错 g1

}else{

逻辑代码2

}

(3)if多分支

if 条件表达式1{

      逻辑代码1

}else if 条件表达式2{

      逻辑代码2

}

......

else{

      逻辑代码n

}

二、switch分支

switch 表达式{

  case1,值2,......

        语句块1

}

...

default:

语句块

}

1.switch后是一个表达式

2.case后面各个值的类型数据,必须和switch表达式数据类型一致

3.case后面可以带多个表达式,使用逗号间隔,比如case表达式1,表达式2

4.case后面不需要带break,程序匹配到一个case后就会执行对应的代码块,然后退出switch,如果一个都匹配不到,则执行default

5.default语句不是必须的

6.switch后可以不带表达式,当成if分支来用

7.switch穿透,利用fallthrough关键字,如果在case语句块后增加fallthrough,则会执行下一个case,也叫switch穿透 package main

`import "fmt"

func main(){

        //实现功能:根据给出的学生分数,判断学生的等级:

        // >=90  -----A

        // >=80  -----B

        // >=70  -----C

        // >=60  -----D

        // <60  -----E

        //给出一个学生分数:

        var score int = 187

        //根据分数判断等级:

        switch score/10 {

                case 10 :

                        fmt.Println("您的等级为A级")

                case 9 :

                        fmt.Println("您的等级为A级")

                case 8 :

                        fmt.Println("您的等级为B级")

                case 7 :

                        fmt.Println("您的等级为C级")

                case 6 :

                        fmt.Println("您的等级为D级")

                case 5 :

                        fmt.Println("您的等级为E级")

                case 4 :

                        fmt.Println("您的等级为E级")

                case 3 :

                        fmt.Println("您的等级为E级")

                case 2 :

                        fmt.Println("您的等级为E级")

                case 1 :

                        fmt.Println("您的等级为E级")

                case 0 :

                        fmt.Println("您的等级为E级")

                default:

                        fmt.Println("您的成绩有误")

        }

} `

三、for循环

Go语言不像其他语言,其他需要可能还会有while和do while等循环,但在go语言中,只有for循环

for 初始表达式;布尔表达式(条件判断);迭代因子

另外,在for循环中的初始表达式不能用var来定义,但是可以用:=这种形式

即 for i:=1;i<=5;i++这种形式是正确的

函数

一、函数的基本语法

func   函数名(形参列表)(返回值类型列表)

{

      执行语句..

      return + 返回值列表

}

函数名应该见名知意,形参列表可以有多个参数,而返回值列表如果返回类型只有一个的话,那么括号可以省略不写

如果有返回值不想接受的话,也可以用下划线进行忽略。