首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
GO 学习记录
十年竹
创建于2022-08-14
订阅专栏
输出学习的内容,记录知识碎片。
暂无订阅
共14篇文章
创建于2022-08-14
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Go 接口 (二)
水平组合 以接口作为参数的函数 是水平组合的最基本语法,也是体现。 接口作为参数,其他实现了该接口的类型都可以传进来,这样即使该类型实现了很多其他的方法,在本函数的时候就只有当前接口实现的函数可以使用
GO 接口
【知识碎片】 接口实现:类型A的方法集合是接口 I 的超集,A类型就实现了I接口;所有类型都实现了空接口类型interface{}。 接口方法名需具名,其他参数列表类型、返回值类型不用具名,但多个接口
Go 函数与方法(二)
方法 图片来源:https://static001.geekbang.org/resource/image/7b/dd/7b3a2b6b620a27cca9b92bf612e66ddd.jpg?wh=
Go 函数与方法(一)
函数 图片来源:21|函数:请叫我“一等公民” (geekbang.org) 返回值列表:可返回多个值,可以带返回值名称,称具名返回值,defer函数常使用,使用具名返回值,return 后不需要加字
Go 流程控制
if 快乐路径原则 for 【知识碎片】 for i,v range m{}, i,v只声明一次 ; 循环的是m的副本。 range map 是随机的。 switch case 匹配后不会执行后面的c
GO 复合数据类型(三)结构体
type type t type_name 相同底层类型可以显示转换不能隐式 type t = type_name 可以隐式转换 结构体 结构体定义 类型字面值 导出类型 非导出类型 "_"空标识类型
复合数据类型(二)map 及其底层实现
map 删除 内建函数delete 增加/修改 map[key] = value 获取键值对数量 内建函数len(map) 遍历 for range 每次遍历的顺序不一致,k,v均可单独遍历 【知识碎
复合数据类型(一) 数组与切片
数组 声明方式 切片 声明方式 图片来源:https://static001.geekbang.org/resource/image/d1/22/d1dcfdb6fd74c88ca300212d07b
Go 字符串
字符串 特性 string 类型数据不可变 获取字符串长度时间为0 所见即所得,原始字符串中任何转义字符不会起到转义作用,即声明字符串变量时右值的转义字符不会起作用。 GO 默认字符集是Unicode
变量、常量、原生数值类型
【知识碎片】 声明方式 普通声明 短变量声明 省略类型声明 声明聚类 就近原则 变量初始化 Go 会默认给变量初始化零值,如果是自定义变量需要保证零值可用 声明并同时显示初始化 变量作用域、变量屏蔽
GO 程序初始化
程序执行顺序 输出结果: 入口函数 main包的main函数 其他包中也可以有main函数,但因为是小写字母开头,所以只能在包内使用 main.main函数 运行在主Goroutine(go 中的用户
Go Module解决包依赖以及应用构建
Go构建模式演化 GOPATH -> GO MODULE GOPATH 构建弊端 该模式下 go编译器会在配置好的环境变量下的路径搜索第三方依赖包是否存在。 如过不存在则 通过go get命令下载到本
Go 项目结构
典型结构 internal 目录下仅放置内部包可以导入的包。 vendor 目录,本地缓存包 实现reproducible builds 可重现构建、go build -mo
Go 程序结构 import/package
【知识碎片】 GO 项目只有一个 main 包,不可导入 同一目录下的 .go 文件的 package 必须相同 import 后接的是路径,通常路径最后一个分段名与包名相同,但并不是包,只是路径名。