美文网首页
go语言中的选择与循环

go语言中的选择与循环

作者: CurryCoder | 来源:发表于2020-10-08 21:26 被阅读0次
package main

import (
    "fmt"
    "strings"
    "time"
)

func main(){
    // 布尔类型
        // true和false是go语言中两个已经声明好的常量
        // go语言只有true是真的,只有false是假的。和其他语言如js不同,js会将""这种字符串当作false,其他的字符串当作true
    
    // strings.Contains
        // 来自strings包的Contains()函数可以判断某个字符串是否包含另外一个字符串
    fmt.Println("You find yourself in a dimly lit cavern.")

    var command = "walk outside"
    var exit = strings.Contains(command, "outside")
    fmt.Println("You leave the cave:", exit)

    // 比较运算符
        // 如果我们比较两个值,得到的结果也是true或false
    fmt.Println("There is a sign near the entrance that reads 'No Minors'.")

    var age = 41
    var minor = age < 18
    fmt.Printf("At age %v, am I a minor? %v\n", age, minor) 

    // 使用if来做分支
    var commands = "go east"

    if commands == "go east"{
        fmt.Println("You head further up the mountain.")
    } else if commands == "go inside" {
        fmt.Println("You enter the cave where you live out the rest of your life.")
    } else {
        fmt.Println("Didn't quite get that.")
    }

    // 逻辑运算符
        // ||表示或、&&表示与,它们通常用来检测多个条件
    fmt.Println("The year is 2020, should you leap?")

    var year = 2020
    var leap = year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)

    if leap {
        fmt.Println("Look before you leap!")
    } else {
        fmt.Println("Keep your feet on the ground.")
    }

    // 取反逻辑运算符!
    var haveTorch = true
    var litTorch = false
    
    if !haveTorch || !litTorch {
        fmt.Println("Nothing to see here.")
    }

    // 使用switch做分支
        // switch语句也可以对数字进行匹配
        // 还有一个fallthrough关键字,它用来执行下一个case的body部分,这一点与C++等语言不同!
    fmt.Println("There is a cavern entrance here and a path to the east.")
    var commandss = "go inside"

    switch commandss {
    case "go east":
        fmt.Println("You head further up the moutain.")
    case "enter cave", "go inside":
        fmt.Println("You find yourself in a dimly lit cavern.")
    case "read sign":
        fmt.Println("The sign reads 'No Minors'.")
    default:
        fmt.Println("Didn't quite get that.")
    }

    // fallthrough关键字
    var room = "lake"
    switch {
    case room == "cave":
        fmt.Println("You find yourself in a dimly lit cavern.")
    case room == "lake":
        fmt.Println("The ice seems solid enough.")
        fallthrough
    case room == "underwater":
        fmt.Println("The water is freezing cold.")
    }

    // 使用循环做重复
        // for关键字可以让你的代码重复执行
        // for后面没有跟条件,就是无限循环
        // 可以使用break来跳出循环
    var count = 10
    for count > 0 {
        fmt.Println(count)
        time.Sleep(time.Second * 2)
        count--
    }
    fmt.Println("Liftoff!")
}   

相关文章

  • go语言中的选择与循环

  • Go语言之循环语句

    微信首发,欢迎关注: Go语言中的循环语句只有for,没有while和do/while这两种格式。Go语言中的fo...

  • 9. 循环

    9. 循环 循环语句是用来重复执行某一段代码。 for 是 Go 语言唯一的循环语句。Go 语言中并没有其他语言比...

  • TODO:Go语言goroutine和channel使用

    TODO:Go语言goroutine和channel使用 goroutine是Go语言中的轻量级线程实现,由Go语...

  • Go 语言中的 go range 循环

    看了好多文章都发现了 go 语言中的 defer 和 go range 循环的坑点,但是很多文章都没有发现这一坑点...

  • 八、Go range的用法

    八、Go语言range Go 语言中 range 关键字用于 for 循环中迭代数组(array)、切片(slic...

  • 08-Go语言循环语句

    for循环语句 Go语言中只有一个for循环语句 四大跳转 break跳转 continue跳转

  • Go编程基础(控制流程语句)

    现在来学习下go语言中控制流程语句,区别下其他语言不同的写法。 1.for循环 Go只有for一个循环语句关键字,...

  • Go 语言 break 语句

    Go 语言中 break 语句用于以下三方面: 用于循环语句中跳出循环,并开始执行循环之后的语句。 break 在...

  • Go语言指针

    Go 语言中指针是很容易学习的,Go 语言中使用指针可以更简单的执行一些任务。 接下来让我们来一步步学习 Go 语...

网友评论

      本文标题:go语言中的选择与循环

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