摘要: 0.1、索引 https://waterflow.link/articles/1666716727236 1、panic 当我们执行panic的时候会结束下面的流程: package main import "fmt" func main() { fmt.Println("hello") panic 阅读全文
posted @ 2022-11-02 14:21 liuyuede123 阅读(394) 评论(0) 推荐(0)
摘要: 索引:https://www.waterflow.link/articles/1666884810643 当我们打印错误的时候使用锁可能会带来意想不到的结果。 我们看下面的例子: package main import ( "fmt" "sync" ) type Courseware struct 阅读全文
posted @ 2022-10-27 23:42 liuyuede123 阅读(333) 评论(0) 推荐(0)
摘要: 索引:https://waterflow.link/articles/1666534616841 我们先看一个简单的例子,我们自定义一个错误,用来把多个错误放在一起输出: type CustomError struct { errors []string } func (c *CustomError 阅读全文
posted @ 2022-10-23 22:23 liuyuede123 阅读(306) 评论(0) 推荐(0)
摘要: 0.1、索引 https://waterflow.link/articles/1666449874974 1、字符串编码 在go中rune是一个unicode编码点。 我们都知道UTF-8将字符编码为1-4个字节,比如我们常用的汉字,UTF-8编码为3个字节。所以rune也是int32的别名。 ty 阅读全文
posted @ 2022-10-22 22:51 liuyuede123 阅读(342) 评论(0) 推荐(0)
摘要: 0.1、索引 https://waterflow.link/articles/1666339004798 1、map的结构 map提供了键值对的无序集合,所有的键都是不重复的。在go中map是基于bmap数据结构的。在内部hash表是一个桶数组,每个桶是一个指向键值对数组的指针。每个桶里面可以保存8 阅读全文
posted @ 2022-10-21 16:07 liuyuede123 阅读(725) 评论(0) 推荐(0)
摘要: 索引:https://waterflow.link/articles/1666277946416 在go中切片的底层是数组,所以切片的数据连续存储在数组的数据结构中。如果底层的数组满了,切片还需要添加元素的话,底层数组就需要扩容。如果底层数组几乎为空时,就会缩容。 在切片内部其包含一个指向底部数组的 阅读全文
posted @ 2022-10-20 23:08 liuyuede123 阅读(406) 评论(0) 推荐(0)
摘要: 0.1、索引 https://waterflow.link/articles/1666171320273 1、概念 接口提供了一种指定对象行为的方法。 我们使用接口来创建多个对象可以实现的通用抽象。 Go 接口不同的原因在于它们是隐式的。 没有像 implements 这样的显式关键字来标记对象 A 阅读全文
posted @ 2022-10-19 17:28 liuyuede123 阅读(163) 评论(0) 推荐(0)
摘要: 0.1、索引 https://waterflow.link/articles/1666090530880 1、概念 1.1、源文件里的代码执行顺序 init 函数是用于初始化应用程序状态的函数。 它不接受任何参数并且不返回任何结果(一个 func() 函数)。 初始化包时,将初始化包中的所有常量和变 阅读全文
posted @ 2022-10-18 19:00 liuyuede123 阅读(240) 评论(0) 推荐(0)
摘要: 索引:https://waterflow.link/articles/1666019023270 在 Go 中,在块中声明的变量名可以在内部块中重新声明。 这种称为变量阴影的原理很容易出现常见错误。 以下示例显示了由于变量阴影而导致的意外副作用。 它以两种不同的方式获取课件信息,根据printLog 阅读全文
posted @ 2022-10-17 23:18 liuyuede123 阅读(68) 评论(0) 推荐(0)
摘要: 0.1、索引 https://waterflow.link/articles/1665938704477 我们都知道当发起http请求的时候,服务端会返回一些http状态码,不管是成功还是失败。客户端可以根据服务端返回的状态码,判断服务器出现了哪些错误。 我们经常用到的比如下面这些: 200:OK, 阅读全文
posted @ 2022-10-17 14:12 liuyuede123 阅读(305) 评论(0) 推荐(0)