首页 > 其他 > 详细

golang-流程控制

时间:2019-10-27 20:48:29      阅读:90      评论:0      收藏:0      [点我收藏+]

1.流程控制

  实现逻辑操作的基础

2.运算符

  比较运算符 (== != < > <= >=)

    go只对true和false进行判定 ,比较运算后可以返回bool值

    常做的比较: 两个字符串是否相同 ,两个数字是否相同 ,两个数字比较大小

  算数运算符 (+ - * / %)

    可以和比较运算符连用改进布尔表达式

  逻辑运算符 (&& || !)

    对布尔表达式进行逻辑运算   &&两面都true则true否则false    ||两边一个true则true否则false       !取反

 

3.if语句 

  布尔表达式不用括号 ,但是使用逻辑运算符就要使用括号分隔了

package main

import "fmt"

func test(x int) {
   if x < 60 {
      fmt.Println("不及格")
   } else if x > 90 {
      fmt.Println("优秀")
   } else {
      fmt.Println("中等")
   }
}

func main() {
   test(70)
}

4.switch语句

  switch语句可以替换if ,从性能和可读性角度都会提高

package main

import "fmt"

func testcase(x int) {

    switch x {
    case 2, 3, 4, 5:
        fmt.Println("春天")
    case 6, 7, 8:
        fmt.Println("夏天")
    default:
        fmt.Println("冬天")
    }
}

func main() {
    testcase(8)
}

5.for循环

  循环执行代码块的内容 ,直到布尔值判断为false

  循环四步 :定义条件变量,判断条件,执行代码,修改变量

package main

import "fmt"

func main() {
    for i:=0;i<10;i++{           //i++是在执行完循环体代码后执行
        fmt.Println(i)
    }
}

  range函数循环 ,每次把迭代对象的元素取出来赋值给变量 (循环数组和切片可以返回两个值 >>索引,值)

package main

import "fmt"

func main() {
    a1 := [5]int{9,8,9,8,9}
    for ind,val :=range a1{
        fmt.Println(ind,val)
    }
}

  for无限循环实现while

package main

import "fmt"

func Ing() {
    i := 4
    for i < 10 {
        i++
        fmt.Println("isisis")
    }
}

func main() {
    Ing()
}

6.defer语句

  在函数执行完毕 立即执行defer的代码 ,defer可以是函数

package main

import "fmt"

func Ing() int {
    fmt.Println("1")
    fmt.Println("2")
    fmt.Println("3")
    defer fmt.Println("A")
    defer test()
    return 10
}

func test(){
    fmt.Println("test")
}

func main() {
    Ing()
}

 

 

  

 

  

golang-流程控制

原文:https://www.cnblogs.com/quguanwen/p/11748649.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!