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
    }


  • 相关阅读:
    ubuntu12.04 安装完XRDP显示空白桌面
    安装完CUDA Toolkit,VS2010调试项目控制台一闪而过
    控制台连接oracle11g报ORA-12560异常
    @Autowired和@Resource
    @Autowire和@Resource区别
    springMVC
    springmvc常用注解标签详解
    Spring/SpringMvc 配置文件常用标签解释
    java中volatile不能保证线程安全(实例讲解)
    volatile关键字解析
  • 原文地址:https://www.cnblogs.com/iifeng/p/11485976.html
Copyright © 2011-2022 走看看