初识golang-排坑和基本知识

查看上一篇golang包的引用请点我

查看golang格式化参数请点我

1.go语言的左括号不能在一个新行
  go语言字符串必须是双引号

2.go导入包后必须使用,变量声明后必须使用

3.go数据类型:告诉编译器以多大内存存储变量
    1)int,uint:默认为0
    2)byte/string:byte为单引号声明,只有一个字符(其实是int32,需要用%c打印);string为双引号声明,多个字符
    3)float32,float64:默认为0,自动推导声明方式默认float64
    4)bool:默认为false

4.go变量
    1)声明:var 变量名 类型
        var a int
        var a, b int
        var (
            a int
            b boole
        )
    2)初始化(声明变量时同时赋值):
        var a int = 10
    3) 自动推导类型:通过初始化的值推导类型
        a := 20
        a, b, c := 10, 20, 30
    4) 匿名变量_
        a, _ := 10, 20

5.go常量
    1)声明:const 常量名 [常量类型] = 常量值
        const a = 10
        const (
            a = 10
            b = 20
        )
    2) iota:常量自动生成器,遇到const重制为0,每调用一次累加1,定义多个常量时可以只写一个iota。如果是同一行,值一样。
        const (
            a = iota
            b
            c
        )

        const (
            a = iota //0
            b, c, d = iota, iota, iota //1,1,1
            e = iota //2
        )
    3) 类型别名
        type 别名 类型
        type bigint int64

6.go运算符
    and == &&
    or == ||

7.流程控制
    1)if
        if [初始化语句;]逻辑表达式{
            go语句
        }

        if 逻辑表达式{
            go语句
        } else {
            go语句
        }

        if 逻辑表达式{
            go语句
        } else if {
            go语句
        } else {
            go语句
        }
    2)switch
        (1)
        num = 10
        switch num{
            case 1:
                语句体
                [fallthrough]不跳出switch,而且后面的全部无条件执行
            case 2:
                语句体
            ...
            default:
                语句体
        }
        (2)
        num = 10
        switch num{
            case 1:
                语句体
                [fallthrough]不跳出switch,而且后面的全部无条件执行
            case 2, 3:
                语句体
            ...
            default:
                语句体
        }
        (3)
        num = 10
        switch {
            case num == 1:
                语句体
                [fallthrough]不跳出switch,而且后面的全部无条件执行
            case num == 2:
                语句体
            ...
            default:
                语句体
        }
    3)for
        for 初始条件;判断条件;条件变化{
        }

        for{ //for循环不加任务东西,为死循环,相当于while
        }
    4)range返回两个值:元素索引和元素本身(可以不接受第二个参数)
    5)continue和break
    6)goto
        需要有标签
8.函数
    1)格式
        func 函数名 (参数列表) (返回值类型){
            函数体
        }
    2)不定参数类型:不定参数一定是在参数列表最后
        func 函数名 (args ...int){ //args实际为切片,可用for迭代
            函数体
        }

        传递不定参数时传args...(可以传部分args[2:]...)

查看下一篇golang数据类型_数组请点我 

你可能感兴趣的:(golang)