首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Go编程易错集锦
Go学堂
创建于2021-08-25
订阅专栏
本专栏收集使用Go编程时经常犯的一些错误及如何避免这些错误。帮助研发人员通过错误掌握Go语言的原理及技巧。
等 10 人订阅
共16篇文章
创建于2021-08-25
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Go错误集锦 | nil通道及其使用场景
本文主要给大家介绍下在Go中nil通道及其使用场景。nil通道是能够正常发送和接收消息的,但就是会将协程永久阻塞。那么,Go为什么要设计成这样呢?一般又会用在什么场景下呢?
Go错误集锦 | 处理error时有哪些常见的陷阱
大家好,我是Go学堂的渔夫子。今天跟大家聊聊使用Go在处理error过程中有哪些常见的陷阱以及如何避免。
Go 中切片使用不当会造成内存泄漏的那些场景
在Go中有两种潜在的内存泄露问题。第一种是关于在已有的切片或数组上进行切分操作而保留了原有切片的容量大小导致内存泄露。第二种是当我们在切分一个元素类型为指针类型的切片或切片的类型是含有指针字段的结构体
Go错误集锦 | 函数何时使用带参数名的返回值
给函数返回值指定具体的参数名时,在某些场景下可以提高可读性,但同时因为返回值的参数在函数调用时会首先被初始化成对应类型的零值,在具体的逻辑处理中,如果不小心也会调入陷阱。
Go错误集锦 | 方法接收者的值类型和指针类型
在Go中,结构体方法的接收者可以是一个值类型,也可以是一个指针类型。那么,你知道他们之间的区别吗?今天我们就简单介绍下。
Go 常见错误集锦 | 不正确的 slice 复制
在Go中,内建的copy函数是将元素从源变量拷贝到目标变量中。该函数虽然方便,但在Go项目中并不常用。本节我们介绍一个使用copy复制错误的例子
Go 常见错误集锦 | append操作slice时的副作用
我们知道,对slice的切分实际上是作用在slice的底层数组上的操作。对一个已存在的slice进行切分操作会创建一个新的slice,但都会指向相同的底层数组。因此,如果一个索引值对两个slice都是
Go 常见错误集锦 | 函数式选项模式
本节将通过一个常见的用例来展示如何使API方便且友好地接受选项配置。我们将深入研究不同的选项,以达到最后展示一个在Go中流行的解决方案:函数式选项模式
Go 常见错误集锦 | 混淆了slice 中的长度 (length) 和容量 (capacity)
对于Go研发人员来说,对于slice结构中的长度(length)和容量(capacity)经常混淆是很常见的。完全理解这两个概念对有效处理slice的核心操作是至关重要的。
Go 常见错误集锦 | 接口污染
所谓接口污染就是用不必要的抽象来淹没我们的代码,使其更难理解和演化。 如果研发者按照别的语言的习惯来使用Go中的接口的话,那么是非常容易出错的。今天我们就聊聊在Go中何时使用接口,何时不适合使用
Go常见错误集锦 | 如何正确设置枚举值中的零值
枚举值在Go项目中是经常被用到的。但是在Go中没有enum这样的关键词,而是用常量。正是因为这样,枚举值才是比较容易出错的一个应用。本文来聊聊如何正确的使用枚举值
Go常见错误集锦 | 使用 defer 释放资源
defer可以避免死板的代码以及减少忘记释放资源的风险,例如释放资源,断开链接,mutex解锁等等。今天我们聊聊defer的具体应用
记一次使用time.Duration类型踩过的坑
time.Duration是time包中一个常用的类型,代表的是两个时间点之间的持续的纳秒数。今天就跟大家聊聊在编程时间中易错的地方。
Go 常见错误集锦 | 字符串底层原理及常见错误
本文介绍了Go中string的底层实现。通过图解unicode字符编码和utf-8的关系来讲解了rune类型代表的具体含义。同时在了解底层原理的情况下,列举了string在研发过程中常犯的一些错误及如
Go 常见错误集锦之函数式选项模式
在编写API函数时,如何让你的函数更具有扩展性?本文通过对比结构体配置、构造器模式以及函数式选项模式各自的优缺点,以使读者了解为什么函数式选项模式是最佳选择。
在Go中使用defer减少重复代码
在Go中,error是经常被函数返回的。如果在调用函数时,返回的是err,就必须要处理,处理的err一旦多了起来,如果对资源处理不当,就容易出错。我们就来看看在实际程序中如何使用defer来简化我们的