美文网首页
条件语句

条件语句

作者: isuntong | 来源:发表于2020-03-08 20:23 被阅读0次
package main

import "fmt"

//14
func main() {
    /*
    条件语句:if
    语法格式:
        if 条件表达式 {
            //
        }
    */
    // 1.给定一个数字,如果大于10,就输出打印
    num := 16
    if num > 10 {
        fmt.Println("大于10")
    }

    fmt.Println("main over...")

}

if...else...语句

/*
    if...else 语句
        if 条件 {
            //条件成立
            A段代码
        }else {
            //条件不成立
            B段代码
        }

    if后的{,一定是和if条件写在同一行的
    else 一定是if语句 } 之后,不能自己另起一行
    if和else的内容任选其一执行
    */

if语句的嵌套

/*
    if语句嵌套
        if 条件 {
            //条件成立
            A段代码
        }else {
            if 条件2{
                B段代码
            }else{
                C段
            }
        }

        if 条件1{
            A段
        }else if 条件2{
            B段
        }else{
            C段
        }

    */

if语句其他写法

/*
    其他写法:
        if 初始化语句 ; 条件{

        }

    作用域只能在if条件中
    */

    if num:=4 ; num>0{
        fmt.Println("正数")
    }

switch语句:“开关”

package main

import "fmt"

//15
func main() {
    /*
    switch语句:
        switch 变量名 {
            case 数值1:分支1
            case 数值2:分支2
            case 数值3:分支3
            ...
            default:
                最后一个分支
        }

    注意事项:
        1. switch可以作用在其他类型上,case后的数值必须和switch的变量类型一致
        2. case无序,default也可以放在最前面,也会正确比对
        3. case后的数值是唯一的
    */
    num := 3
    switch num {
    default:
        fmt.Println("数据错误")
    case 1:
        fmt.Println("第一季度")
    case 2:
        fmt.Println("第二季度")
    case 3:
        fmt.Println("第三季度")
    case 4:
        fmt.Println("第四季度")
    }

    fmt.Println("main over")
}

switch的其他用法

package main

import "fmt"

//15
func main() {
    /*
    switch语句:
        switch 变量名 {
            case 数值1:分支1
            case 数值2:分支2
            case 数值3:分支3
            ...
            default:
                最后一个分支
        }

    注意事项:
        1. switch可以作用在其他类型上,case后的数值必须和switch的变量类型一致
        2. case无序,default也可以放在最前面,也会正确比对
        3. case后的数值是唯一的
    */
    num := 3
    switch num {
    default:
        fmt.Println("数据错误")
    case 1:
        fmt.Println("第一季度")
    case 2:
        fmt.Println("第二季度")
    case 3:
        fmt.Println("第三季度")
    case 4:
        fmt.Println("第四季度")
    }

    fmt.Println("main over")

    /*
    其他写法:
        省略switch后的变量,相当于直接作用在true上
    */
    score := 88
    switch {
    case score >= 80 && score <= 100:
        fmt.Println("优秀")
    case score < 80 && score >= 60:
        fmt.Println("及格")
    default:
        fmt.Println("不及格")
    }

    /*
        case后可以同时跟随多个数值
    */
    letter := 'A'
    switch letter {
    case 'A','E','I','O','U':
        fmt.Println("元音")
    default:
        fmt.Println("辅音")
    }

    /*
        switch后可以多一条初始化语句
        switch 初始化语句 ; 变量{

        }
    */

    switch language := "golang" ; language {
    case "golang":
        fmt.Println("go")
    case "java":
        fmt.Println("java")
    }

}

switch的break和fallthrough

package main

import "fmt"

//16
func main() {
    /*
    switch的break和fallthrough
    break:可以使用在switch中,也可以使用在for循环中
        强制结束case语句,从而结束switch分支
    fallthrough:
        穿透switch,某个case匹配成功,就执行该case
        如果遇到fallthrough,那么后面紧跟的case,无需匹配,直接穿透执行
        
        注意:只能在某个case的最后一行
    */
    n := 2
    switch n {
    case 1:
        fmt.Println("我是熊大")
        fmt.Println("我是熊大")
        fmt.Println("我是熊大")
    case 2:
        fmt.Println("我是熊二")
        fmt.Println("我是熊二")
        break
        fmt.Println("我是熊二")

    }

    fmt.Println("main over")

    m := 2
    switch m {
    case 1:
        fmt.Println("第一季度")
    case 2:
        fmt.Println("第二季度")
        fallthrough
    case 3:
        fmt.Println("第三季度")
    case 4:
        fmt.Println("第四季度")

    }

}

for循环

package main

import "fmt"

//17
func main() {
    /*
    for循环
        某些代码多次执行

        for 表达式1;表达式2;表达式3 {
            //循环体
        }

    */

    for i := 1;i <= 5;i++ {
        //循环体
        fmt.Println("Hello World")
    }
}

for循环其他表达形式

/*
        其他形式
        for 表达式2 {
            //相当于while循环
        }

        作用域有所不同
    */
    i := 1
    for i<=5 {
        fmt.Println("hello")
        i++
    }

    /*
    省略三个表达式
    for {

    }

    相当于直接作用在 true 上
    */
    for {
        fmt.Println("i------>", i)
        i++
    }

    /*
    省略哪几个表达式都可以
    省略1:定义在外面
    省略2:循环永远成立
    省略3:变量变化写在里面
    */

break和continue

默认结束里层循环,想结束外层循环可以通过贴标签的形式

out:for i:=1;i<=5;i++ {
        for j:=1;j<=5;j++ {
            if j==2 {
                break out
            }
            fmt.Printf("i:%d,j:%d",i,j)
        }
    }

continue也是

goto语句

package main

import "fmt"

//18
func main() {
    /*
    goto语句:
    */
    var a = 10
    LOOP:
    for a < 20 {
        if a==15 {
            a += 1
            goto LOOP
        }
        fmt.Printf("a的值为:%d\n", a)
        a++
    }

}

生成随机数

package main

import (
    "fmt"
    "math/rand"
    "time"
)

//19
func main() {
    /*
    生成随机数random:
        伪随机数,根据一定的算法公式算出来的

    math/random
    */
    num1 := rand.Int()
    fmt.Println(num1) //5577006791947779410

    for i:=0;i<10;i++ {
        num := rand.Intn(10) //[0,9]
        fmt.Println(num)
    }

    //没有修改种子数,每次运行的结果都是一样的

    rand.Seed(1)
    num2 := rand.Intn(10)
    fmt.Println("---->",num2)

    //想每次生成的随机数不同,就得不停的改变种子
    //时间就是不断改变的

    t1 := time.Now()
    fmt.Println(t1)
    fmt.Printf("%T\n",t1)

    //将时间转换成整数
    //时间数:指定时间,距离1970年1月1日0点0分0秒,之间的时间差值:秒,毫秒
    timeStamp1 := t1.Unix() //秒
    fmt.Println(timeStamp1)

    timeStamp2 := t1.UnixNano() //纳秒
    fmt.Println(timeStamp2)

    //设置种子数,可以设置成时间戳
    rand.Seed(time.Now().UnixNano())
    for i:=0;i<10;i++ {
        //使用生成随机数的函数
        fmt.Println("----->",rand.Intn(100))
    }

    //获取指定范围内随机数 [3,48]
    /*
    Intn(n) // [0,n)
    */
    num3 := rand.Intn(46)+3 //[3,48]
    fmt.Println(num3)

}

相关文章

  • Java流程控制2

    条件语句 if条件语句,switch多分支语句 if条件语句总 if条件句中又分为:if条件语句,if…else,...

  • Javascript 基础:语句

    1.条件语句 if(条件){语句}if(条件){语句1}else{语句2}if(条件){语句1}else if(条...

  • 语句

    条件语句 if (条件){语句1}else{语句2} if (条件){语句1}else if(条件2){语句2}e...

  • 07-Go语言条件语句

    if条件语句 if条件语句三种格式 if条件语句结构特点 switch条件语句 语句格式 switch语句注意点

  • 2018-12-11

    流程控制 流程控制语句:--条件判断语句--条件分支语句--循环语句 条件判断语句(if语句) 语法:if(条件表...

  • JavaScript(第三天)—爱创课堂专业前端培训

    一、条件语句 条件语句格式一: if(条件表达式){ 条件表达式成立执行的语句; } 条件语句格式二: if(条件...

  • 条件判断语句、多重条件判断语句

    条件判断语句 多重条件判断语句 if语句语法三:if(条件表达式){语句...}else if(条件表达式){语句...

  • 流程控制

    条件语句 if条件语句 *if条件语句主要用于告知程序当某一个条件成立时,须执行满足该条件的相关语句,if条件语句...

  • 第四节: JavaScript条件分支语句

    一. 条件分支语句 条件分支语句,也叫作条件判断语句,就是根据某种条件执行某些语句,不执行某些语句。 JS中条件...

  • 第四节 JavaScript条件分支语句

    一. 条件分支语句 条件分支语句,也叫作条件判断语句,就是根据某种条件执行某些语句,不执行某些语句。 JS中条件...

网友评论

      本文标题:条件语句

      本文链接:https://www.haomeiwen.com/subject/jrtjdhtx.html