golang
已收录文章:14101篇
-
用Golang写基础爬虫需发送HTTP请求并解析HTML。首先通过net/http库发起GET请求获取网页内容,如http.Get读取响应体;接着使用goquery库解析HTML,类似jQuery语法提取h1标题和p段落文本;最后将数据结构化为JSON输出。注意设置User-Agent、处理超时与编码,遵守robots.txt规则。完整流程包括错误处理、资源释放及数据存储,可扩展并发与反爬应对。487 收藏
-
Go语言中函数参数可选值类型或指针类型,影响性能、内存使用及数据修改能力。2.值类型传递副本,不修改原数据,适用于小数据;指针类型传递地址,可修改原数据,适用于大数据或需修改场景。3.小型类型建议值传递,大结构体建议指针传递以减少开销,若需修改原始数据则必须用指针。4.方法集应统一接收器类型以保持一致性。正确选择参数类型可提升效率与安全性。110 收藏
-
使用context.WithCancel可取消goroutine,调用cancel()后所有监听该context的goroutine通过ctx.Done()收到信号并退出。166 收藏
-
Golang中处理MIME类型主要使用mime包,结合net/http实现类型推断、解析与设置。1.根据文件扩展名用mime.TypeByExtension获取类型,需传入带点的小写后缀,如".pdf"返回"application/pdf"。2.基于数据内容前512字节检测类型推荐http.DetectContentType,适用于未知扩展名但有原始数据的场景,如JPEG文件头{0xFF,0xD8,0xFF}返回image/jpeg。3.自定义扩展名可通过mime.AddExtensionType注册,如175 收藏
-
使用net/url包解析、构建和操作URL;2.通过url.Parse()解析字符串为*url.URL结构;3.利用u.Query()获取查询参数并用Set/Add修改;4.手动构造url.URL实例并调用Encode()生成标准URL;5.使用ResolveReference处理相对路径。112 收藏
-
首先初始化模块并设置项目结构,使用gomodinit创建go.mod文件;接着按功能划分internal、pkg、cmd等目录;在main.go中导入内部包并编写业务逻辑;最后通过goget添加如gorilla/mux等第三方依赖,完成模块化开发环境搭建。140 收藏