go语言

Posted zahngyu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go语言相关的知识,希望对你有一定的参考价值。

1. 函数高级,类型命别名

2.if - else的使用

3.包的使用

4.for循环

5.switch的使用

6.数组的使用

 

 

一. 函数高级,类型命别名

 

二.if - else的使用

//if -else
package main

import "fmt"

func main() {
    a:=90
    //1.//if 条件 {}
    if a==90{ //在go语言中缩进什么的都无所谓,但是这个花括号与条件不能换行
        fmt.Println("a是90")
    }
    //2.
    if a>90{
        fmt.Println("a大于90")
    }else if a<90{
        fmt.Println("a小于90")
    }else{
        fmt.Println("a等于90")
    }
    //3.// 在条件中可以定义变量,但是他的作用域范围只在if判断内部使用
    if a:=90;a>90{
        fmt.Println("a大于90")
    }else if a==90{
        fmt.Println(a)
    }
    //fmt.Println(a)
}

 

三.包的使用

技术图片 

技术图片

 

 使用调用

技术图片

 

 

 

 

 

四.for循环

//for 循环
package main

import "fmt"

func main() {
    // 这是一个最简单的for循环 定义一个变量也就是初始化,写一个条件,自增
    for i:=0;i<10;i++{
        fmt.Println(i)
    }
    // 三部分,都可以省略
    // 先省略第一部分
    i :=0
    for;i<10;i++{
        fmt.Println(i)
    }
    // 省略第三部分
    i :=0
    for;i<10;{
        i++
        fmt.Println(i)
    }
    // 省略第二部分 变成无线循环
    for ;;{
        fmt.Println("xxx")
    }
    // 死循环
    for {
        fmt.Println("xxx")
    }
    //只写条件,for 条件{}  等同于while循环
    for {
        fmt.Println("adadjaksd")
    }
    //注意: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)
    }
}

 

五.switch的使用

// switch语句
package main

import "fmt"

func main() {
    // 基本用法,我首先定义了一个变量a=10//然后在下面判断case如果有等于10,就打印我给的要打印的
    a:=10
    switch a {
    case 1:
        fmt.Println("1")
    case 2:
        fmt.Println("2")
    case 10:
        fmt.Println("10")
    //default用法,如果都不匹配,就走default
    a:=11
    switch a {
    case 1:
        fmt.Println("1")
    case 2:
        fmt.Println("2")
    case 10:
        fmt.Println("10")
    default:
        fmt.Println("不知道")
    //多值匹配 只要多个值里面有一个能匹配上就可以
    a:=11
    switch a {
    case 1,4,5:
        fmt.Println("1")
    case 2,8,9:
        fmt.Println("2")
    case 10,11:
        fmt.Println("10")
    default:
        fmt.Println("不知道")
    //无表达式的 switch
    a:=11
    switch  {
    case a>10:
        fmt.Println("大于10")
    case a<10:
        fmt.Println("小于10")
    default:
        fmt.Println("10")
    
    }
    // fallthrough穿透,就是可以无条件的穿透下一个case的类容
    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")
    }
}

func test5()  {
    fmt.Println("xxxxxx")


}

 

六.数组的使用

// 数组 在定义阶段,长度和类型就固定了,以后不能更改
package main

import "fmt"

func main() {
    var a [5]int  //定义一个长度为5的int类型数组
    a[1]=100  //把第二个位置放上100
    fmt.Println(a)
    //定义赋初值 为什么还要等于一个[6]int,如果不写的话,你找到变量还有后面写的是什么类型么
    var a [6]int=[6]int{1,2,3,4,5,6}
    var a =[6]int{1,2,3} // 会补0
    a :=[6]int{1,2,3}
    a[5]=100
    fmt.Println(a)
    //把第99个位置设为99
    a :=[100]int{1,2,98:99,87:88}
    fmt.Println(a)

    // 数组是值类型
    //所有的函数传参都是copy传递
    //a:=[4]int{1,2,3}
    //test6(a)
    //fmt.Println(a)

    // 数组的长度,内置函数len
    a:=[4]int{1,2,3}
    fmt.Println(len(a))
    // 数组大小是类型的一部分,一个是5一个是4类型不一样,也不能赋值
    var a [4]int=[4]int{1,2}
    var b [5]int=[5]int{4,5}
    a=b
    fmt.Println(a)
    //与    或  非
    //&&   ||   !
    a:=10
    if !(a>9||a<6){
    
    }
    //数组迭代
    var a [4]int=[4]int{1,2,}
    //for i:=0;i<len(a);i++{
    //    fmt.Println(a[i])
    //}
    //通过range迭代
    for i,v:=range a {
    //for i:=range a {
        fmt.Println("------",i)// 打印索引
        fmt.Println(v) // 打印值
    }
    //多维数组 
    var a [7][2]int// 一个大列表套七个小列表,么诶个列表里面都是00
    a[0][1]=100
    fmt.Println(a)


}

 

以上是关于go语言的主要内容,如果未能解决你的问题,请参考以下文章

在Visual Studio Code中配置GO开发环境

Go语言切片

[Go] 通过 17 个简短代码片段,切底弄懂 channel 基础

解决go: go.mod file not found in current directory or any parent directory; see ‘go help modules‘(代码片段

go语言怎么将二进制转为字符串

Go 语言 10 岁了!这里有你不知道的 Go 的成长历程