golang
已收录文章:12601篇
-
在Golang中,错误处理应优先使用结构体实现error接口以携带额外信息,1.自定义错误类型通过实现Error()方法支持类型判断与信息扩展;2.简单错误可用errors.New或fmt.Errorf,但不便于类型提取;3.使用fmt.Errorf的%w动词包装错误可保留原始信息;4.解包错误可通过errors.Unwrap、errors.Is和errors.As遍历错误链进行匹配或类型提取;5.实践中应优先使用errors.As判断类型,避免随意包装无上下文的错误,关键路径添加上下文再包装,并避免字符221 收藏
-
引子 如今很多云原生系统、分布式系统,例如 Kubernetes,都是用 Go 语言写的,这是因为 Go 语言天然支持异步编程,而且静态语言能保证应用系统的稳定性。笔者的开源项目 Crawlab 作为爬虫管理220 收藏
-
GoLang之iface 和 eface 的区别是什么? iface 和 eface 都是 Go 中描述接口的底层结构体,区别在于 iface 描述的接口包含方法,而 eface 则是不包含任何方法的空接口:interface{}。 从源码层面看一下: ty220 收藏
-
项目背景 自己开发了一个云对象存储服务,用于存储某个项目中所有的文件资源。 问题 在进行安全测试时,自己遇到了一个问题:无法限制木马病毒模拟的图片文件进行上传。看似是一个图片220 收藏
-
一、多态的含义 对于Java或者是C++而言,我们在使用变量的时候,变量的类型是明确的。但是如果我们希望它可以宽松一点,比如说我们用父类指针或引用去调用方法,但是在执行的时候,能够220 收藏
-
如何用net/http构建一个简单的web服务 Golang提供了简洁的方法来构建web服务 package main import ( "net/http" ) func HelloResponse(rw http.ResponseWriter, request *http.Request) { fmt.Fprintf(w, "Hello world.") } func ma220 收藏