type
status
date
slug
summary
tags
category
icon
password

1.语法基础

  1. 输入输出
    1. 条件控制
      1. if
      2. switch
      3. label
      4. goto
    1. 循环控制
      1. go中没有while循环,使用for循环控制变量来实现while循环的功能
    1. 切片
      1. 数组-容量固定,不可更改,切割的区间是左闭右开
        1. 切片-容量灵活,可以扩展
          1. len-长度, cap-容量
          2. 多维切片-数组在初始化时,其一维和二维的长度早已固定,而切片的长度是不固定的,切片中的每一个切片长度都可能是不相同的,所以必须要单独初始化
            1. 拓展表达式
              1. 只有切片才能使用拓展表达式
                需要满足关系low≤ high ≤ max ≤ cap,使用拓展表达式切割的切片容量为max-low
          1. 字符串-字符串没法修改但是可以覆盖
            1. 普通字符串
              1. 使用""表示,支持转义,不支持多行书写
            2. 原生字符串
              1. 使用`` 表示,不支持转义,支持多行书写,所有字符都会原样输出
            3. 转换
              1. 字符串可以转换为字节切片,而字节切片或字节数组也可以转换为字符串
            4. 拷贝
              1. 使用内置函数copy
            5. 拼接
              1. 使用+操作符,或者转化为字节切片后再进行添加元素,但是这两个方法性能较差,可以使用strings.Builder 来提高性能
          1. 映射表
            1. map[keyType]valueType{} map是引用类型,零值或未初始化的map可以访问,但是无法存放元素,所以必须为其分配内存
          1. 结构体-结构体本身以及其内部的字段都遵守大小写命名的暴露方式

          2.语法进阶

          1. 函数
            1. 声明
              1. 参数
              2. 返回值
              3. 匿名函数-只能在函数内部存在
              4. 闭包
              5. 延迟调用
                1. defer 关键字描述的匿名函数会在函数返回之前执行,多个defer语句,按照后进先出的顺序执行
            1. 方法-只有自定义类型能拥有方法,方法有接收者
            1. 接口
              1. 基本接口
            1. 泛型 = 类型参数 + 类型约束
              1. 类型
                1. 类型后置
                2. 类型声明
                3. 类型别名
                4. 类型转换
                5. 类型断言
                6. 类型判断
              1. 错误
                1. error
                2. panic
                3. fatal
              1. 文件-操作的基本类型是[]byte,使用osio等包进行操作
                1. 打开
                  1. 打开一个文件后要记得关闭该文件,通常关闭操作会放到defer语句里
                2. 读取
                3. 写入
                4. 复制
              1. 并发
                1. 协程
               
              Markdown配合图床上传图片到GithubMarkdown配合图床上传图片到Github
              Loading...
              ninuan
              ninuan
              一个普通的干饭人🍚
              Announcement
              Welcome to my bolg!!!