• GO语言 包 if..else.. for循环 switch 数组


    1.什么是包

    1.新建一个文件夹,内部写很多go文件,但是包名必须一致,改文件夹就是一个包
    
    2.作用和优点
    包用于组织 Go 源代码,提供了更好的可重用性与可读性。由于包提供了代码的封装,因此使得 Go 应用程序易于维护。

    2.注意点和使用

    1.包:

     2.使用

     if-else

    1.基本语法

    注意:if  条件{}    大括号和条件之间不能换行
    1.语法:
        if 条件{
            代码体
        }else if 条件{
            代码体
        }else {
            代码体
        }
    2.示例:
        if a == 90{
            fmt.Println("a 是90");
        }
        if a >90{
            fmt.Println("a 大于90")
        }else if a<90{
            fmt.Println("a 小于90")
        }else {
            fmt.Println("a 等于90")
        }

    2.补充

    //在条件中可以定义变量,但是它的作用于范围只在if判断内部使用
    if a :=90;a>90{
    fmt.Println("大于")
    }else if a==90{
    fmt.Println(a)

    }

    for循环

    1.for循环执行步骤

    for 是 Go 语言唯一的循环语句。Go 语言中并没有其他语言比如 C 语言中的 while 和 do while 循环。

    1.语法:
    for 初始化; 条件; post{代码体}
    //for initialisation; condition; post {
    }
    示例:
    for i:=0;i<10;i++{
    fmt.Println(i)
    }
    2.工作步骤: 初始化语句只执行一次。循环初始化后,将检查循环条件。如果条件的计算结果为 true ,则 {} 内的循环体将执行,接着执行 post 语句。post 语句将在每次成功循环迭代后执行。
    在执行 post 语句后,条件将被再次检查。如果为 true, 则循环将继续执行,否则
    for 循环将终止。(译注:这是典型的 for 循环三个表达式,第一个为初始化表达式或赋值语句;
    第二个为循环条件判定表达式;第三个为循环变量修正表达式,即此处的 post ) 这三个组成部分,即初始化,条件和 post 都是可选的。让我们看一个例子来更好地理解循环。

    2示例:

    三部分,都可以省略
        1.先省略第一部分
        i :=0
        for ;i<10;i++{
            fmt.Println(i)
        }
        2.省略第三部分
        i :=0
        for ;i<10;{
            i++
            fmt.Println(i)
        }
        3.省略第二部分(注意没有条件为死循环)
        for ;;{
            fmt.Println("xxxx")
        }
        4.死循环
        for {
            fmt.Println("xxxx")
        }
        5.只写条件 for 条件{}  等同于while循环
        
        for {
        
            fmt.Println("sdffsdsa")
        }
        6.break和continue跟其他任何语言都一样
    
        for i:=0;i<10;i++{
            if i==5{
                break
            }
            fmt.Println(i)
        }
        for i:=0;i<10;i++{
            if i==5{
                continue
            }
            fmt.Println(i)
        }
    7.for 条件{}

    switch

    1.简介

    switch 是一个条件语句,用于将表达式的值与可能匹配的选项列表进行比较,并根据匹配情况执行相应的代码块。它可以被认为是替代多个 if else 子句的常用方式

    2.语法示例

    1.那个case条件成立执行那个代码,都不成立就执行default代码块  
      //finger := 8也可定义在这
      switch finger := 8; finger {
        case 1:
            fmt.Println("Thumb")
        case 2:
            fmt.Println("Index")
        case 3:
            fmt.Println("Middle")
        case 4:
            fmt.Println("Ring")
        case 5:
            fmt.Println("Pinky")
        default: // 默认情况
            fmt.Println("incorrect finger number")
        }
    
    2.多表达式判断
        letter := "i"
        switch letter {
        case "a", "e", "i", "o", "u": // 一个选项多个表达式
            fmt.Println("vowel")
        default:
            fmt.Println("not a vowel")
        }
    3.无表达式的 switch:
        num := 75
        switch { // 表达式被省略了
        case num >= 0 && num <= 50:
            fmt.Println("num is greater than 0 and less than 50")
        case num >= 51 && num <= 100:
            fmt.Println("num is greater than 51 and less than 100")
        case num >= 101:
            fmt.Println("num is greater than 100")
        }
    
    4.Fallthrough 语句
            a:=10
        switch a {
        case 1:
            fmt.Println("1")
            fmt.Println("xxxx")
        case 2:
            fmt.Println("2")
        case 10:
            fmt.Println("10")
            穿透,无条件执行下一个case的内容
            fallthrough
        case 11:
            fmt.Println("11")
            test5()
            fallthrough
        case 12:
            fmt.Println("12")
        }

    数组

    1.什么是数组

    数组是同一类型元素的集合。例如,整数集合 5,8,9,79,76 形成一个数组。Go 语言中不允许混合不同类型的元素,例如包含字符串和整数的数组。(译者注:当然,如果是 interface{} 类型数组,可以包含任意类型)

    2.定义数组

    方式1:定义不赋值
    var a [5]int  //定义了一个长度为5的int类型数组
    fmt.Println(a) //[0 0 0 0 0]
    数组中的所有元素都被自动赋值为数组类型的零值
    
    方式2定义赋值
    var a [6]int=[6]int{1,2,3,4,5,6}
    fmt.Println(a) //[1 2 3 4 5 6]
    
    var b =[6]int{1,2,3}
    mt.Println(b) //[1 2 3 0 0 0]没赋值的用0填补
    
    //第99个位置设为99,第88个位置设为88
    a :=[100]int{1,2,98:99,87:88}
    //a[-9]=19  不支持
    fmt.Println(a)
    
    补充:
    改值:
    数组名[索引] = 要改的值
    
    查:
    数组名[索引]

    3.数组常用方法

    1.数组的长度 内置函数len
    a:=[4]int{1,2,3}
    fmt.Println(len(a))
    
    2.数组迭代
    #1.通过forrange迭代
        var a [4]int=[4]int{1,2,}
        for i:=0;i<len(a);i++{
            fmt.Println(a[i])
        }
    #2.通过range迭代:i为索引,v位置,只循环一个为索引
        for i,v:=range a {
        //for i:=range a { 
            fmt.Println("------",i)
            fmt.Println(v)
        }
    3.多维数组
    7为总长度,3为每个小数组长度
    var a [7][3]int
    a[0][1]=100
    fmt.Println(a) //[[0 100 0] [0 0 0] [0 0 0] [0 0 0] [0 0 0] [0 0 0] [0 0 0]]
  • 相关阅读:
    .NET的SqlHelper应用代码
    .NET获取客户端的操作系统、IP地址、浏览器版本
    Codevs 3981 动态最大子段和
    洛谷 P3373 【模板】线段树 2
    一些笔记【杂】
    洛谷 P1432 倒水问题
    洛谷 P2324 [SCOI2005]骑士精神
    Codevs 1010 过河卒
    POJ 3278 Catch That Cow
    洛谷P2184 贪婪大陆
  • 原文地址:https://www.cnblogs.com/tfzz/p/12018647.html
Copyright © 2020-2023  润新知