golang
已收录文章:12560篇
-
使用net/http服务静态文件需配合http.FileServer和http.StripPrefix,开发时可直接用Go服务,生产环境建议交由Nginx或CDN;自Go1.16起可通过embed包将静态文件编译进二进制,实现一键部署;需防范路径遍历风险,避免敏感文件暴露。458 收藏
-
答案:Go中结构体值拷贝创建独立副本,适用于小型结构体和需数据隔离的场景,而指针传递仅复制地址,适合大型结构体和需修改原始数据的场景;值拷贝在小结构体上性能良好,但大结构体拷贝开销大,指针虽高效但需防范nil指针和并发竞争;最佳实践包括根据修改需求选择传值或传指针、方法接收者保持一致性、小结构体优先值类型、大结构体优先指针,并注意并发安全与初始化。109 收藏
-
Go语言通过text/template包实现高效文本生成,支持变量注入、条件循环控制、自定义函数及模板嵌套。示例展示动态渲染姓名年龄、学生成绩判断、字符串转大写及模板复用,结合html/template可防XSS,适用于HTML页面、配置文件等场景。112 收藏
-
Golang应用应使用logrus或zap输出JSON格式结构化日志;2.日志需写入stdout/stderr而非本地文件;3.在K8s节点部署FluentBit等Agent采集日志;4.集中存储至Elasticsearch或Loki,结合Kibana或Grafana实现查询分析,形成日志闭环。484 收藏
-
答案是配置Golang环境需安装GoSDK并设置GOROOT、GOPATH及PATH环境变量,启用GoModules并配置GOPROXY加速依赖下载,Windows通过系统属性设置变量,macOS/Linux通过shell配置文件,GOPATH仍适用于旧项目但新项目推荐使用GoModules。375 收藏
-
Go语言通过net/http和encoding/json包可高效开发JSON接口,首先定义带JSON标签的结构体,如User和Response,用于数据序列化与统一响应格式;在Handler中设置Content-Type为application/json,使用json.NewEncoder(w).Encode()返回JSON数据;通过json.NewDecoder(r.Body).Decode()解析请求体,实现参数绑定;推荐使用Gin等框架提升性能,并添加中间件支持日志、CORS等。105 收藏