摘要:
Go的interface接口 接口(interface)定义了一个对象的行为规范,只定义规范不实现,由具体的对象来实现规范的细节 是一组 的集合,是 的一种体现 只要一台机器有洗衣服和甩干的功能,我就称它为洗衣机。不关心属性(数据),只关心行为(方法) 接口(interface)是一种类型 一个对象 阅读全文
摘要:
Go的包 包介绍 是多个Go源码的集合,是一种高级的代码复用方案,Go语言为我们提供了很多内置包,如 、`os io`等 定义包 我们还可以根据自己的需要创建自己的包。一个包可以简单理解为一个存放 文件的文件夹 该文件夹下面的所有go文件都要在代码的第一行添加如下代码,声明该文件归属的包 一个文件夹 阅读全文
摘要:
Go的结构体 结构体 Go语言提供了一种自定义数据类型,可以封装多个基本数据类型,这种数据类型叫结构体,英文名称 结构体的定义 类型名:自定义结构体的名称,在同一个包内不能重复 字段名:结构体中的字段名必须惟一 字段类型:表示结构体字段的具体类型 例子一 结构体实例化 只有当结构体实例化时,才会真正 阅读全文
摘要:
Go的指针 :保存指针地址 Go语言中的指针不能进行偏移和运算 两个符号: (取地址)和 (根据地址取值) 指针地址和指针类型 每个变量在运行时都拥有一个地址,这个地址代表变量在内存中的位置 Go语言中的值类型(int、float、bool、string、array、struct)都有对应的指针类型 阅读全文
摘要:
Go的函数 函数定义 Go语言中支持函数、匿名函数和闭包 函数可变参数 可变参数是指函数的参数数量不固定。Go语言中的可变参数通过在参数名后加 来标识 可变参数要放在固定参数的后面 返回值命名 变量作用域 全局变量 全局变量定义在函数外,在程序运行周期内都有效 局部变量 函数内定义的变量无法在该函数 阅读全文
摘要:
Go的map map 为映射关系容器,内部为 实现 是引用类型,必须初始化 map类型的变量默认初始值为nil,需要使用make()函数来分配内存 cap表示map的容量,该参数虽然不是必须的,但是我们应该在初始化map的时候就为其指定一个合适的容量 声明时填充元素 go判断map中键是否存在 go 阅读全文
摘要:
Go的切片 切片 切片(Slice)是一个拥有相同类型元素的可变长度的序列。它是基于数组类型做的一层封装。支持自动扩容 切片是一个引用类型 切片内部结构包含 、`长度 容量` 切片的长度和容量 切片拥有自己的长度和容量,使用内置的 ,使用内置的 基于数组定义切片 基于切片再切片 注意: 对切片(b) 阅读全文
摘要:
Go的数组 Array(数组) Go语言中,数组从声明时就确定,使用时可以修改数组成员,但是数组大小不可变化 数组的长度必须是常量,并且长度是数组类型的一部分。一旦定义,长度不能变。 和`[5]int`是不同的类型 数组可以通过下标进行访问,下标是从 开始,最后一个元素下标是: ,访问越界(下标在合 阅读全文
摘要:
Go的循环语句 if else(分支结构) Go语言规定与 匹配的左括号 必须与 放在同一行, 放在其他位置会触发编译错误。 同理,与 匹配的 也必须与 写在同一行, 也必须与上一个 或`else if`右边的大括号在同一行 if条件判断特殊写法 if条件判断还有一种特殊的写法,可以在 if 表达式 阅读全文
摘要:
Go的运算符 运算符 Go 语言内置的运算符有: 1. 算术运算符 2. 关系运算符 3. 逻辑运算符 4. 位运算符 5. 赋值运算符 | 运算符 | 描述 | | : : | : : | | + | 相加 | | | 相减 | | | 相乘 | | / | 相除 | | % | 求余 | 关系运 阅读全文