zoukankan      html  css  js  c++  java
  • 5.golang 控制流程 if, else if ,switch ,defer使用

    package main

    import "fmt"


      //defer go语言功能,在函数返回前执行另一个函数。函数在遇到return语句或到达函数末尾时返回。
    //defer语句通常用于执行清理操作或确保操作完成后再执行另一个函数
    //在函数体中最下面的defer最先执行


    //流程控制
    /*
    运算符
    + 和
    - 差
    * 积
    / 商
    % 余 (也叫模)
    */

    func main() {
    k := 3
    if k >= 10 {
    fmt.Println(k)
    } else if k < 5 {
    c := k % 2
    fmt.Println(k, c)
    }
    switchTest(11)
    switchT2("a")


    //defer go语言功能,在函数返回前执行另一个函数。函数在遇到return语句或到达函数末尾时返回。
    //defer语句通常用于执行清理操作或确保操作完成后再执行另一个函数
    //在函数体中最下面的defer最先执行
    defer fmt.Println("我会在所有return之前打印出来1")
    defer fmt.Println("我会在所有return之前打印出来2")
    defer fmt.Println("我会在所有return之前打印出来3")
    fmt.Println("你到底爱不爱我")

    }




    func switchTest(x int) {
    switch {
    case x > 10:
    fmt.Println(x)
    case x < 10:
    fmt.Println(x)
    default:
    fmt.Println(x)
    }

    }

    func switchT2(x string){
    switch x {
    case "a":
    fmt.Println("我想我是" + x)
    case "b":
    fmt.Println(x)
    default:
    fmt.Println("我是无辜的")
    }
    }

    func eval(a, b int, op string) int {
    var result int
    switch op {
    case "+":
    result = a + b
    case "-":
    result = a - b
    case "*":
    result = a * b
    case "/":
    result = a / b
    default:
    panic("unsupported operator:" + op)
    }
    return result
    }


  • 相关阅读:
    OSCP Learning Notes Exploit(7)
    正则表达式中?=和?:和?!的理解
    提取日志中的ip
    ip地址的正则表达式
    linux内核tmpfs/shmem浅析
    记一个linux内核内存提权问题
    linux内存屏障浅析
    linux IPv4报文处理浅析
    linux会话浅析
    linux memory lock浅析
  • 原文地址:https://www.cnblogs.com/iifeng/p/11485976.html
Copyright © 2011-2022 走看看