• go学习笔记-流程控制(if/else,for/range)


    流程控制(if/else,for/range)

    if

    if条件判断语句的语法概括起来就是:如果满足条件就做某事,否则做另一件事。

    func testIf() {
    	num := 10
    	if num < 10 {
    		fmt.Println(`less than 10`)
    	} else if num == 10 {
    		fmt.Println(`equal 10`)
    	} else {
    		fmt.Println(`more than 10`)
    	}
    }
    

    switch

    switch语句用来解决很多if else的问题,语法如下

    switch sExpr {
    	case expr1:
    		some instructions
    	case expr2:
    		some other instructions
    	case expr3:
    		some other instructions
    	default:
    		other code
    }
    

    sExpr和expr1、expr2、expr3的类型必须一致。sExpr表达式不必是常量或整数,执行的过程从上至下,直到找到匹配项;而如果switch没有表达式,它会匹配true。witch默认相当于每个case最后带有break,匹配成功后不会自动向下执行其他case。

    func testSwitch() {
    	i := 12
    	switch {
    	case i < 12:
    		fmt.Println("< 12")
    	case i == 12:
    		fmt.Println("= 12")
    	default:
    		fmt.Println("> 12")
    	}
    }
    

    for

    循环操作,既可以用来循环读取数据,又可以当作while来控制逻辑,还能迭代操作。它的语法如下:

    for expression1; expression2; expression3 {
    	//...
    }
    
    expression1在循环开始之前调用,
    expression2是用来条件判断,
    expression3在每轮循环结束之时调用。
    

    示例:

    func testFor() {
    	sum := 0
    	for num := 1; num < 10; num++ {
    		sum += num
    	}
    	fmt.Println(sum)
    }
    

    循环控制语句

    循环控制语句可以控制循环体内语句的执行过程。

    • break 语句 经常用于中断当前 for 循环或跳出 switch 语句
    • continue 语句 跳过当前循环的剩余语句,然后继续进行下一轮循环。
    for i := 1; i < 10; i++ {
    	if i == 5 {
    		continue
    	}
    	if i == 8 {
    		break
    	}
    	fmt.Println(i)
    }
    

    range 关键字

    range 关键字用于 for 循环中迭代数组(array)、切片(slice)、通道(channel)或集合(map)的元素。在数组和切片中它返回元素的索引和索引对应的值,在集合中返回 key-value 对的 key 值

    	arrs := [5]int{1, 2, 3, 4, 5}
    	for index, item := range arrs {
    		fmt.Println(index, item)
    	}
    
    	slices := []string{"a", "b", "c"}
    	for index, item := range slices {
    		fmt.Println(index, item)
    	}
    
    	maps := map[string]int{"a": 1, "b": 2, "c": 3}
    	for key, val := range maps {
    		fmt.Println(key, val)
    	}
    
  • 相关阅读:
    Python爬虫系列(六):搜索文档树
    Python爬虫系列(五):分析HTML结构
    Python爬虫系列(四):Beautiful Soup解析HTML之把HTML转成Python对象
    Python爬虫系列(三):requests高级耍法
    Python爬虫系列(二):requests基础
    Python爬虫系列(一):从零开始,安装环境
    Python操作rabbitmq系列(六):进行RPC调用
    Python操作rabbitmq系列(五):根据主题分配消息
    Python操作rabbitmq系列(四):根据类型订阅消息
    Django使用模板进行动态局部刷新
  • 原文地址:https://www.cnblogs.com/SLchuck/p/9936878.html
Copyright © 2020-2023  润新知