社区
其他技术讨论专区
帖子详情
PHP转go刚入门。。我可以不写err != nil嘛?
weixin_38049686
2019-09-20 10:00:01
感觉err != nil这玩意太影响效率了,而且大多数情况下我根本就没有在里面写东西,就是一空壳,
我在github上下载的许多项目都是这样不实际处理err,却又写个err != nil的空壳子出来。
所以我可以在项目中大范围放弃写这种err != nil吗?就像PHP那样。。。
...全文
75
14
打赏
收藏
PHP转go刚入门。。我可以不写err != nil嘛?
感觉err != nil这玩意太影响效率了,而且大多数情况下我根本就没有在里面写东西,就是一空壳, 我在github上下载的许多项目都是这样不实际处理err,却又写个err != nil的空壳子出来。 所以我可以在项目中大范围放弃写这种err != nil吗?就像PHP那样。。。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
weixin_38066880
2019-09-20
打赏
举报
回复
最早我也讨厌err!=nil,后来在做应用时才知道,真是太有用了。有了它程序才更健壮,千万不要用_忽略。go开发的程序稳定性非常好。err的功劳最大。
weixin_38070905
2019-09-20
打赏
举报
回复
哈哈哈,今天我写 rpc 忽略了 其中一个 err ,找了半天才找到。。。
weixin_38078293
2019-09-20
打赏
举报
回复
从拍错的角度来说我不喜欢try cache
weixin_38097106
2019-09-20
打赏
举报
回复
这就是golang 语言的特性,我一开始 也不习惯,时间长了就习惯了 代码太丑了
weixin_38108526
2019-09-20
打赏
举报
回复
try-catch其实是很好用的 但是我才学Go 所以没法做比较,但是在java的经验看来,try-catch是个非常好的设计
weixin_38111164
2019-09-20
打赏
举报
回复
这点,我只能说各有优势。 try-catch我就举个反例,对于开发经验不足的人来说,try-catch会埋下无数坑。 他们不太喜欢错误处理,也不会花费精力思考每个调用异常的处理。 然后就会出现几种情况,外层捕获了,打印了日志以及错误堆栈对大多情况还是可以的。 但是偏偏有人喜欢吃掉堆栈,或者就不捕获。code review时,随着调用层数增多,就得花费更多的精力里里外外看一遍,思考是否存在问题。也就是开发人员将大量本应做的工作转嫁给review的人。如果没有review,那么就祈祷不会出错吧,至少祈祷日志包含了错误堆栈吧。 golang的这个不优雅,但是能告诉使用的人去正视错误,并思考如何处理
weixin_38111610
2019-09-20
打赏
举报
回复
try catch 在用户未处理异常时不作提醒,只有点进函数细节,才能看到throw的声明。 而err 在用户未处理时,编译报错,告知用户该函数有可能抛出错误,只有用户显式使用_才可以不处理err 二者的区别很明显,err的错误是否存在,是否该处理,完全可以由用户判断 而try catch,用户可能在不知情的情况下,忽略掉一下异常。
weixin_38128732
2019-09-20
打赏
举报
回复
https://studygolang.com/articles/20054 给你一个在GO里面写try catch的方法。
weixin_38132042
2019-09-20
打赏
举报
回复
可以用匿名变量_忽略返回值 result,_:=Test()
weixin_38144838
2019-09-20
打赏
举报
回复
这个是最简洁的错误处理之道了 人为传递错误出栈 减少你的出错率
weixin_38054276
2019-09-20
打赏
举报
回复
err存在的目的就是为了帮助分析处理可能出现的异常,或者记录。如果这些你都不想做,直接忽略就可以,当然没有问题
weixin_38058663
2019-09-20
打赏
举报
回复
像php那样你是准备 try catch还是什么都不写? try catch比if err!=nil废脑多了。
weixin_38062545
2019-09-20
打赏
举报
回复
err 用 _ 忽略就行了啊,在你认为出错的地方写上就OK了
weixin_38065454
2019-09-20
打赏
举报
回复
try catch和err != nil 是2种不同的错误处理模式啊。try catch是不管包含的范围内出现多少错误,什么错误一概捕获,然后该处理的处理,但实际使用都是直接向上层抛。而err != nil是为了精准的处理错误,控制程序异常,提高程序的健壮性,发现一个处理一个。
Goro:用Go实现的
PHP
引擎,重新定义
PHP
性能与扩展性
Goro是一款用纯Go语言实现的
PHP
引擎,全面支持
PHP
8.5语言特性,为开发者带来前所未有的性能提升和扩展能力。通过创新性地将Go语言的并发模型与
PHP
的易用性相结合,Goro正在重新定义
PHP
应用的运行方式。 ## 为什么选择Goro?打破传统
PHP
的性能瓶颈 🚀 传统
PHP
引擎在面对现代应用需求时逐渐显露出局限性,而Goro通过以下创新点彻底改变了这一局面: - **Go语言优势
Golang项目实战:从
PHP
转
型的目录设计与配置系统
在现代化软件开发中,项目目录结构和配置系统是工程化实践的基础要素。合理的目录规范能够提升代码可维护性,而健壮的配置管理则是实现多环境部署的关键。Golang凭借其强类型系统和内置的internal机制,为项目结构提供了天然的封装优势。通过Viper这样的配置库,开发者可以实现类型安全的配置加载,有效避免
PHP
等动态语言常见的运行时配置错误。本文以电商项目ai-go-mall为例,详解如何设计符合12-Factor应用原则的Golang项目结构,并分享Git版本控制和多环境配置的最佳实践,特别适合从
PHP
转
型
runc 中的 libseccomp-golang:Go 语言系统调用过滤绑定库的完整实战指南
本指南以 runc 仓库内置的 `libseccomp-golang` 绑定库(v0.12.0)为核心,系统讲解它如何为 Linux 内核的 seccomp 系统调用过滤机制提供"函数调用式"的 Go 语言接口,并深入剖析 runc 在 [libcontainer/seccomp/seccomp_linux.go](https://link.gitcode.com/i/74aae94bac34f8
前后端分离架构下资源路径生成:从
PHP
到Golang的演进与实践
在Web开发中,资源路径管理是连接前端展示与后端数据存储的基础环节,其核心在于将相对路径或资源标识符
转
换为可公开访问的完整URL。其原理是通过配置驱动,实现路径生成的动态化与解耦,确保不同环境(开发、测试、生产)下资源定位的一致性。这一机制的技术价值在于支撑了现代前后端分离、微服务及云原生架构,使得静态资源、用户上传文件乃至AI模型数据集的管理变得规范可靠。典型的应用场景包括用户头像展示、文件下载、CDN资源加速以及云存储集成。本文聚焦于**Golang**后端与**Vue/React**前端如何协同实现一
Go语言bcrypt密码加密实战:从原理到工程实践
密码安全是后端开发中用户认证系统的基石,其核心在于如何安全地存储用户凭证。传统哈希算法如MD5、SHA-1因计算速度过快,易受暴力破解攻击。bcrypt算法通过引入可调节的成本因子和内置盐值,将哈希过程故意设计为“慢操作”,极大增加了攻击者的时间成本,从而成为密码存储的黄金标准。在工程实践中,Go语言的golang.org/x/crypto/bcrypt包提供了简洁的API,开发者需重点掌握成本因子的选择、数据库字段设计以及高并发下的性能优化。本文以Go语言为例,深入解析bcrypt的核心原理与实战应用,涵
其他技术讨论专区
479
社区成员
790,917
社区内容
发帖
与我相关
我的任务
其他技术讨论专区
其他技术讨论专区
复制链接
扫一扫
分享
社区描述
其他技术讨论专区
其他
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章