12 2019 档案

摘要:当我们通过把一个现有(非interface)的类型定义为一个新的类型时,新的类型不会继承现有类型的方法。 神马意思?来一段简短错误的代码: 输出: 初步看代码貌似没啥问题。实际报错“myMutex类型没有字段或方法锁”?怎么解决?如果我们确实需要原有类型的方法,可以定义一个新的struct类型,用匿 阅读全文
posted @ 2019-12-18 17:06 周伯通之草堂 阅读(1417) 评论(0) 推荐(0) 编辑
摘要:在“range”语句中生成的数据的值其实是集合元素的拷贝。它们不是原有元素的引用。这就意味着更新这些值将不会修改原来的数据。我们来直接看段示例: 如果我们需要更新原有集合中的数据,使用索引操作符来获得数据即可: 好,重点来了!重点来了!重点来了!,重要的话说三遍,大部分博友们可能会踩坑. 这里我提前 阅读全文
posted @ 2019-12-18 16:23 周伯通之草堂 阅读(3526) 评论(0) 推荐(0) 编辑
摘要:recover 仅在延迟函数 defer 中有效,在正常的执行过程中,调用 recover 会返回 nil 并且没有其他任何效果.重要的事再说一遍:仅当在一个defer函数中被完成时,调用recover()才生效。 我们来一段错误的代码: 输出: 修改下,正确的代码: 输出: 重要的事再说一遍:re 阅读全文
posted @ 2019-12-18 14:32 周伯通之草堂 阅读(2644) 评论(0) 推荐(0) 编辑
摘要:先抛砖引玉defer的延迟调用:defer特性: defer用途: 好,废话不多说,实例加深理解,我们先看看一段代码 输出:4 3 2 1 0 ,defer 是先进后出,这个输出没啥好说的。 我们把上面的代码改下:defer 换上闭包: 输出:4 4 4 4 4,很多人也包括我。预期的结果不是 4 阅读全文
posted @ 2019-12-04 18:10 周伯通之草堂 阅读(16014) 评论(3) 推荐(2) 编辑

点击右上角即可分享
微信分享提示