【web3基础】go-zero创建rpc服务,创建配置文件(二)
go-zero本文一览图创建rpc项目创建命令:加载依赖包运行demo配置文件解析原理了解总结关键词: go-zero, goctl, RPC, 配置文件, YAML, 配置解析, 微服务, 项目创建, 依赖管理, 配置加载本文一览图下面是实际操作:创建rpc项目创建命令:goctl rpcnewrpcdemo运行项目:加载依赖包rootDESKTOP-TKVSD8M:~/go-zero-learn# cd rpcdemo/rootDESKTOP-TKVSD8M:~/go-zero-learn/rpcdemo#gomod tidy运行demorootDESKTOP-TKVSD8M:~/go-zero-learn/rpcdemo#gorun rpcdemo.go卡卡报错原因没有配置etcd因为还没讲到那块所以先注释掉跑通项目。2处改动1:etc下的yamllogic返回先写死配置文件解析原理了解新建个服务项目goctl apinewconfigdemo cd configdemogomod tidy新增个配置文件config.yaml 内容如下:Name:demo Host:127.0.0.1Port:6370新增解析方法main.go 内容如下:packagemainimport(flagfmtgithub.com/zeromicro/go-zero/core/conf)typeConfigstruct{NamestringHoststringjson:,default0.0.0.0Portint}varfflag.String(f,config.yaml,the config file)funcmain(){flag.Parse()varc Config conf.MustLoad(*f,c)fmt.Println(c.Name)}运行:rootDESKTOP-TKVSD8M:~/go-zero-learn/configdemo#gorun main.godemo改下name:Name:config demo Host:127.0.0.1Port:6370再次运行:rootDESKTOP-TKVSD8M:~/go-zero-learn/configdemo#gorun main.goconfig demo本质上的原理都一样都是解析config只不过 入口文件的配置文件默认放在etc中的。// Code scaffolded by goctl. Safe to edit.// goctl 1.10.1packagemainimport(flagfmtconfigdemo/internal/configconfigdemo/internal/handlerconfigdemo/internal/svcgithub.com/zeromicro/go-zero/core/confgithub.com/zeromicro/go-zero/rest)varconfigFileflag.String(f,etc/configdemo-api.yaml,the config file)funcmain(){flag.Parse()varc config.Config conf.MustLoad(*configFile,c)server:rest.MustNewServer(c.RestConf)deferserver.Stop()ctx:svc.NewServiceContext(c)handler.RegisterHandlers(server,ctx)fmt.Printf(Starting server at %s:%d...\n,c.Host,c.Port)server.Start()}本质:go-zero 配置加载本质是利用 YAML 反序列化机制将配置文件内容映射到 Go struct实现配置和代码解耦。总结本文通过两个完整示例演示了 go-zero 微服务框架的核心使用流程RPC 项目创建与运行使用goctl rpc new命令创建 RPC 服务通过go mod tidy加载依赖运行过程中遇到 etcd 配置问题并提供了临时解决方案。配置文件解析机制创建 API 服务项目展示如何定义和解析 YAML 配置文件通过conf.MustLoad将配置映射到 Go 结构体并验证配置加载效果。文章最后揭示了 go-zero 配置加载的本质利用 YAML 反序列化机制将配置文件内容映射到 Go struct实现配置和代码解耦。这两个示例涵盖了从项目创建、依赖管理、配置解析到服务运行的全流程为初学者提供了完整的实践参考。

相关新闻

Flutter ListView核心原理与性能优化实践

Flutter ListView核心原理与性能优化实践

1. ListView核心概念解析ListView是移动应用开发中最基础也最常用的滚动列表组件,它能够线性排列子组件并支持垂直或水平方向的滚动。在Flutter框架中,ListView属于widgets库的一部分,作为ScrollView的子类,专门用于处理大量数据的…

2026/7/26 2:11:24 阅读更多 →
Nemotron-3-Embed-8B文本嵌入模型实战:从环境配置到生产部署

Nemotron-3-Embed-8B文本嵌入模型实战:从环境配置到生产部署

在自然语言处理的实际项目中,文本嵌入模型的选择往往决定了语义搜索、问答系统和内容推荐的最终效果。NVIDIA 最新发布的 Nemotron-3-Embed-8B 模型在 RTEB 基准测试中登顶,为开发者提供了一个新的高性能选项。这个拥有 80 亿参数的嵌入模型不仅支持 819…

2026/7/26 19:50:18 阅读更多 →
图片转AI提示词工具本地部署指南:从原理到实践

图片转AI提示词工具本地部署指南:从原理到实践

图片转AI提示词工具是AI图像生成领域的重要辅助工具,它能将任意图片转换为详细的文本描述,这些描述可以直接用于Stable Diffusion、Midjourney、Flux等主流AI图像生成模型。对于经常使用AI绘画的创作者来说,手动编写高质量的提示词是个技术活…

2026/7/25 13:19:26 阅读更多 →

最新新闻

多模态大模型构建智能说明书系统实践

多模态大模型构建智能说明书系统实践

1. 项目概述:当现实世界遇上多模态说明书上周调试新买的咖啡机时,我突然意识到一个问题:为什么2023年了,我们还得对着纸质说明书里那些模糊的示意图猜来猜去?这个灵光一现的念头,催生了我用多模态大模型构建…

2026/7/26 20:17:39 阅读更多 →
3步打造完美歌词体验:LyricsX如何让Mac听歌更智能

3步打造完美歌词体验:LyricsX如何让Mac听歌更智能

3步打造完美歌词体验:LyricsX如何让Mac听歌更智能 【免费下载链接】LyricsX 🎶 Ultimate lyrics app for macOS. 项目地址: https://gitcode.com/gh_mirrors/ly/LyricsX 你是否厌倦了在不同音乐播放器间切换时,歌词体验参差不齐&#…

2026/7/26 20:17:39 阅读更多 →
gh_mirrors/ope/open-source-practice:从零开始的开源贡献终极指南

gh_mirrors/ope/open-source-practice:从零开始的开源贡献终极指南

gh_mirrors/ope/open-source-practice:从零开始的开源贡献终极指南 【免费下载链接】open-source-practice Repo for you to raise a Pull Request for practice 项目地址: https://gitcode.com/gh_mirrors/ope/open-source-practice GitHub 加速计划&#x…

2026/7/26 20:17:39 阅读更多 →
逆向工程实践:Windows平台二进制补丁技术深度解析

逆向工程实践:Windows平台二进制补丁技术深度解析

逆向工程实践:Windows平台二进制补丁技术深度解析 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了) 项目地址: https://gitcode.com/Gi…

2026/7/26 20:17:39 阅读更多 →
115网盘618活动:150元锁定2年VIP会员,日均0.2元享TB级云存储

115网盘618活动:150元锁定2年VIP会员,日均0.2元享TB级云存储

这次我们来看115网盘在618期间推出的VIP优惠活动。这个活动主打150元锁定2年115VIP会员,算下来日均成本仅0.2元,是目前市场上性价比极高的云存储方案。对于需要大容量云存储、文件备份、在线播放等功能的用户来说,这次活动值得重点关注。115网…

2026/7/26 20:17:39 阅读更多 →
彻底揭秘:黑客的“权限维持”体系(为什么服务器查杀干净依旧会再次沦陷?)

彻底揭秘:黑客的“权限维持”体系(为什么服务器查杀干净依旧会再次沦陷?)

一、前言:所有新人的终极疑惑很多新人做应急响应、漏洞清理时,总有一个巨大疑惑:明明已经删除木马、查杀病毒、修复漏洞、重置密码,没过几天服务器再次被入侵、再次挂马、再次被接管。99%的新人只懂“清理表面木马”,不…

2026/7/26 20:16:39 阅读更多 →

日新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/26 0:00:31 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/26 0:00:31 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/26 0:00:31 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/26 0:00:31 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/26 0:00:31 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/26 0:00:31 阅读更多 →

月新闻