golang
已收录文章:14018篇
-
通过实现Marshaler与Unmarshaler接口及使用结构体标签,可自定义Go中JSON的序列化与反序列化行为,如格式化时间、重命名字段、忽略空值等。278 收藏
-
Go语言凭借高并发与轻量特性成为云原生微服务首选,需搭建含GoSDK、Docker、docker-compose、Make及VSCode的本地环境,初始化模块并规范项目结构;推荐Gin框架集成viper配置管理、zap日志、OpenTelemetry追踪、Prometheus监控及健康检查接口;通过多阶段Dockerfile构建镜像,docker-compose编排依赖服务,KubernetesDeployment与Service实现容器化部署;结合Helm、ConfigMap、服务发现、熔断限流与日志收278 收藏
-
先用gomodgraph发现github.com/kr/pretty存在v0.1.0和v0.2.0多版本,再通过gomodwhy定位到引入v0.1.0的间接依赖路径,确认是某个旧版库导致;结合replace或升级该库解决冲突,避免盲目更新。278 收藏
-
管道模式利用goroutine和channel实现数据的多阶段处理,适用于ETL、图像处理等场景。示例中通过gen生成数据、square计算平方,最后消费结果,形成“生产-传输-消费”流程。可扩展为多阶段,并通过扇出(多个worker并行)和扇入(合并结果)提升性能。使用定向channel增强类型安全,合理使用buffer和context控制生命周期,避免goroutine泄漏。278 收藏
-
方法 方法能给用户自定义的类型添加新的行为。它和函数的区别在于方法有一个接收者,给一个函数添加一个接收者,那么它就变成了方法。接收者可以是值接收者,也可以是指针接收者。在277 收藏
-
常用指令 agent指令 -bind=0.0.0.0 指定consul所在机器的ip地址-http-port 指定web接口服务端口-client 指定哪些机器可以访问consul, 0.0.0.0表示所有机器-data-dir=path 指定服务数据文件存储位置-dev 开发者模式277 收藏