| 参考资料 | 资料介绍 |
| --- | --- |
| [WEB服务开发/Cookie](WEB服务开发/Cookie.md) | 在GoFrame框架中使用Cookie进行会话管理。通过ghttp.Request对象，开发者可以轻松获取、设置和删除Cookie。还讨论了SessionId的获取和设置，Cookie的过期时间处理，以及在控制器中继承和使用会话对象的简易方法。这些功能为Web开发者提供了强大的工具来管理用户会话，确保Web应用的灵活性和应变能力。 |
| [WEB服务开发/HTTPClient/HTTPClient-代理Proxy设置](WEB服务开发/HTTPClient/HTTPClient-代理Proxy设置.md) | 在GoFrame框架的HTTP客户端中设置代理服务器地址，支持http和socks5两种形式。通过SetProxy和Proxy方法，用户可以轻松配置代理，实现对外网资源的访问，包括普通调用示例和链式调用示例，帮助用户快速掌握代理功能的使用。 |
| [WEB服务开发/HTTPClient/HTTPClient-基本使用](WEB服务开发/HTTPClient/HTTPClient-基本使用.md) | 使用GoFrame框架通过基本的HTTP客户端操作来发送GET、POST、DELETE请求，并处理返回值。本文还讨论了如何使用POST方法发送JSON数据、使用多参数、map类型参数进行请求。同时，提供了*Bytes、*Content和*Var方法的简要介绍，以帮助开发者更便捷地处理HTTP请求和响应内容。 |
| [WEB服务开发/HTTPClient/HTTPClient-常见问题](WEB服务开发/HTTPClient/HTTPClient-常见问题.md) | 解释如何有效使用GoFrame框架中的gclient.Client对象，以提高效率和降低资源使用。包含gclient.Client对象复用的建议以及如何处理非法字符问题，通过示例演示设置正确的ContentType。 |
| [WEB服务开发/HTTPClient/HTTPClient-拦截器中间件](WEB服务开发/HTTPClient/HTTPClient-拦截器中间件.md) | GoFrame框架中的HTTPClient拦截器/中间件特性，可用于全局请求拦截和参数校验。通过中间件，开发者可以在请求的前置和后置阶段插入自定义逻辑，修改提交参数或返回参数，实现签名参数注入等功能，确保接口参数的安全性。 |
| [WEB服务开发/HTTPClient/HTTPClient-文件上传](WEB服务开发/HTTPClient/HTTPClient-文件上传.md) | 使用GoFrame框架进行HTTP客户端文件上传，实现了方便的文件上传功能，并提供了三个主要的接口以支持单个和多个文件的上传。详细讲解了服务端及客户端的实现代码，并提供了自定义文件名称和规范路由接收上传文件的方法，适用于需要集成文件上传功能的开发场景。 |
| [WEB服务开发/HTTPClient/HTTPClient-监控指标](WEB服务开发/HTTPClient/HTTPClient-监控指标.md) | HTTP客户端的监控指标功能，默认情况下是关闭状态，以免影响性能。它提供了多种指标供用户参考，如请求执行的时间开销、连接创建时间以及请求的字节总大小等，只有在metric特性全局开启时才会启用这些指标，帮助用户更好地进行性能分析。 |
| [WEB服务开发/HTTPClient/HTTPClient-自定义ContentType](WEB服务开发/HTTPClient/HTTPClient-自定义ContentType.md) | 在GoFrame框架中使用HTTPClient自定义请求的ContentType。通过不同的操作方法如ContentJson和ContentXml，可以设置请求的Content-Type分别为application/json和application/xml。同时也提供了自定义ContentType的方法例子，帮助开发者灵活设置请求参数和编码方式，以满足不同的API请求需求。 |
| [WEB服务开发/HTTPClient/HTTPClient-自定义Cookie](WEB服务开发/HTTPClient/HTTPClient-自定义Cookie.md) | 在使用GoFrame框架的HTTP客户端中自定义发送给服务端的Cookie内容，主要通过SetCookie和SetCookieMap方法实现。通过简单的服务端和客户端示例展示了如何设置与接收自定义的Cookie参数，实现HTTP客户端的个性化请求。 |
| [WEB服务开发/HTTPClient/HTTPClient-自定义Header](WEB服务开发/HTTPClient/HTTPClient-自定义Header.md) | 通过GoFrame框架的HTTPClient功能，用户可以自定义HTTP请求的Header信息。本文介绍了如何利用SetHeader、SetHeaderMap和SetHeaderRaw等方法设置和发送Header，从而实现自定义链路跟踪信息，如Span-Id和Trace-Id。通过简单的代码示例，展示了客户端如何与服务端交互并返回结果。 |
| [WEB服务开发/HTTPClient/HTTPClient-自定义Transport](WEB服务开发/HTTPClient/HTTPClient-自定义Transport.md) | 在GoFrame框架中，通过自定义Transport实现HTTPClient的高级用法。包括使用Unix Socket进行客户端与服务端通信的方法，以及设置客户端连接池大小参数的具体实现。示例提供了大量真实代码片段，帮助开发者更好地理解并应用这些技术。 |
| [WEB服务开发/HTTPClient/HTTPClient-请求信息打印](WEB服务开发/HTTPClient/HTTPClient-请求信息打印.md) | 使用GoFrame框架中的HTTP客户端功能获取和打印HTTP请求的原始输入和输出信息。主要方法包括Raw、RawDump、RawRequest和RawResponse，适用于调试HTTP请求。示例展示了使用GoFrame框架发送POST请求并打印请求和响应的具体方法。 |
| [WEB服务开发/HTTPClient/HTTPClient](WEB服务开发/HTTPClient/HTTPClient.md) | GoFrame框架提供的强大HTTP客户端gclient组件，支持HTTP请求的便捷链式操作。客户端支持自定义请求设置及返回对象操作，并详细介绍了超时、Cookie、Header等参数的设置方法。 |
| [WEB服务开发/Session/Session-File](WEB服务开发/Session/Session-File.md) | 使用GoFrame框架的ghttp.Server实现Session的文件存储。默认情况下，Session存储采用内存和文件结合的方式，通过StorageFile实现持久化管理。得益于gcache模块，Session数据操作高效，特别适合读多写少的场景。同时，演示示例展示了如何在GoFrame项目中设置与获取Session。 |
| [WEB服务开发/Session/Session-Memory](WEB服务开发/Session/Session-Memory.md) | 在GoFrame框架中使用内存存储实现Session功能。内存存储方式简单高效，但不支持持久化，因此在应用程序重启后Session数据会丢失。通过示例代码，详细说明了如何设置Session的过期时间以及如何存储和获取Session数据。 |
| [WEB服务开发/Session/Session-Redis-HashTable](WEB服务开发/Session/Session-Redis-HashTable.md) | 在GoFrame框架中使用RedisHashTableStorage进行Session管理，区别于RedisKeyValueStorage，该方法直接通过Redis服务进行操作，无需全量拉取。通过示例代码，展示了基本的Session设置、获取和删除操作，以及如何在GoFrame中集成这个功能。 |
| [WEB服务开发/Session/Session-Redis-KeyValue](WEB服务开发/Session/Session-Redis-KeyValue.md) | 在GoFrame框架中使用Redis进行Session的KeyValue存储，以解决多节点部署下Session共享的问题。通过使用StorageRedis对象实现Redis存储，提高执行效率，适合单个用户Session数据量较小的场景，并提供具体的使用示例和说明。在示例中，Session过期时间设为1分钟，展示了设置、获取、删除Session的方法及Redis中Session数据的恢复功能。 |
| [WEB服务开发/Session/Session-RegenerateId](WEB服务开发/Session/Session-RegenerateId.md) | GoFrame框架中的Session ID重新生成功能，通过RegenerateId和MustRegenerateId方法防止会话固定攻击，提高Web应用的安全性。详细介绍了会话固定攻击的原理、危害以及防范方法，并提供了完整的代码示例和安全建议。 |
| [WEB服务开发/Session/Session-Storage接口开发](WEB服务开发/Session/Session-Storage接口开发.md) | 在GoFrame框架中使用gsession组件进行Session-Storage接口开发。通过组件内置的Storage实现，可以满足大部分业务场景的需求。开发者还可以根据特定情况，自定义Session存储。文中详细描述了Storage接口的定义及调用时机，为提高Session性能，建议使用gmap容器类型。本指南将帮助开发者更好地实现和优化存储接口。 |
| [WEB服务开发/Session/Session](WEB服务开发/Session/Session.md) | GoFrame框架中Session管理的相关功能，包括Session的基本概念、gsession模块的实现方式及其在不同场景中的应用。详细讨论了SessionId的传递方式和Session的初始化、销毁等操作，提供了四种常见的Session存储实现方式及其特点，为开发者在HTTP等多种服务环境下的Session管理提供了丰富的工具支持。 |
| [WEB服务开发/分页管理/分页管理-Ajax分页](WEB服务开发/分页管理/分页管理-Ajax分页.md) | 使用Ajax方法实现分页管理的技术细节。区别于传统分页方式，Ajax分页通过Javascript方法动态获取并渲染分页内容，以实现更流畅的用户体验。示例代码展示了如何在GoFrame框架中集成Ajax分页功能，提供一个实用的后端分页解决方案。 |
| [WEB服务开发/分页管理/分页管理-URL模板](WEB服务开发/分页管理/分页管理-URL模板.md) | 使用GoFrame框架的gpage进行分页管理，并通过自定义URL模板功能，使用内置变量替换页码内容来实现页面的动态渲染。文章提供了详细的代码示例，展示了通过设置UrlTemplate属性实现分页URL的个性化配置，为开发者提供了灵活高效的解决方案。 |
| [WEB服务开发/分页管理/分页管理-动态分页](WEB服务开发/分页管理/分页管理-动态分页.md) | 该文档介绍了如何在GoFrame框架中使用动态分页，通过GET参数传递分页配置，默认参数名为“page”。通过提供的示例代码，用户可以了解如何在网页中集成四种预定义的分页样式，以及实现分页管理的过程。 |
| [WEB服务开发/分页管理/分页管理-自定义分页](WEB服务开发/分页管理/分页管理-自定义分页.md) | 在GoFrame框架中实现自定义分页样式和标签。通过分页对象公开的属性和方法，开发者可以通过正则匹配替换或自行组织分页内容的方式进行自定义，实现更高的灵活性和个性化。 |
| [WEB服务开发/分页管理/分页管理-静态分页](WEB服务开发/分页管理/分页管理-静态分页.md) | 在GoFrame框架中实现静态分页管理。静态分页通过使用路由传参的方式实现，具有较高的耦合性。通过示例说明了如何利用GoFrame框架中的模糊匹配路由、命名匹配路由以及字段匹配路由来实现分页功能，使得分页对象能够接受路由中的分页参数，从而实现页面的分开显示。 |
| [WEB服务开发/分页管理/分页管理](WEB服务开发/分页管理/分页管理.md) | GoFrame框架中的分页管理功能，主要通过gpage模块实现。gpage模块支持动态和静态分页，并为开发者提供灵活的分页样式自定义方式。文章详细说明了分页对象的创建和使用，支持在Web服务中便捷地获取分页对象。还涵盖了预定义分页样式的使用以及Ajax分页的实现方法，以便于开发人员快速集成和使用。 |
| [WEB服务开发/开始使用](WEB服务开发/开始使用.md) | GoFrame框架提供强大的WebServer，由ghttp模块实现，涵盖路由、会话管理、缓存等功能。支持多端口监听、域名绑定、多实例运行，提供便捷的配置管理及服务器平滑重启能力，为开发者提供模块化和灵活性支持，为用户提供可靠的HTTP和HTTPS服务。 |
| [WEB服务开发/异常处理](WEB服务开发/异常处理.md) | 使用GoFrame框架中进行HTTP请求异常处理的策略。当请求过程中产生异常时，GoFrame会自动捕获panic，避免进程崩溃，并记录到日志文件中。开发者可以通过自定义中间件进行异常捕获和处理，同时可以获取详细的异常堆栈信息，更加有效地定位问题。本文还提供了多个代码示例，帮助读者理解异常处理的正确用法。 |
| [WEB服务开发/接口文档/接口文档-OpenAPIv3](WEB服务开发/接口文档/接口文档-OpenAPIv3.md) | 在GoFrame框架中使用OpenAPIv3协议来规范接口文档的生成。通过嵌入g.Meta元数据结构体，可以自动生成包含协议标签的接口信息。此外，文中还展示了如何自定义扩展标签和手动完善接口文档。 |
| [WEB服务开发/接口文档/接口文档-扩展Response](WEB服务开发/接口文档/接口文档-扩展Response.md) | GoFrame框架中OpenAPIv3接口文档的Response扩展功能，支持自定义HTTP状态码、响应结构体和示例数据。通过实现IEnhanceResponseStatus接口，开发者可以为API添加多种响应状态，增强接口文档的完整性和可读性，使文档更符合RESTful API设计规范。 |
| [WEB服务开发/接口文档/接口文档-自定义UI](WEB服务开发/接口文档/接口文档-自定义UI.md) | 在GoFrame框架中使用SwaggerUI自定义接口文档UI，以替代默认的Redoc组件UI。通过示例代码展示如何快速实现接口文档的替换，连接企业内部资源，避免外网依赖。详细演示了接口文档与第三方平台的对接，使用GoFrame Server进行UI模板切换，提升文档展示灵活性及可定制性。 |
| [WEB服务开发/数据返回/数据返回-Exit控制](WEB服务开发/数据返回/数据返回-Exit控制.md) | GoFrame框架中的数据返回控制方法，包括Exit、ExitAll和ExitHook。Exit用于退出当前执行的逻辑方法，而ExitAll会强行中断当前执行流程，非常适用于权限控制。ExitHook用于当路由匹配到多个HOOK方法时，控制其执行顺序。这些方法在服务函数和HOOK事件回调函数中有效，并通过极少的运行时开销来提高易用性。 |
| [WEB服务开发/数据返回/数据返回-JSONXML](WEB服务开发/数据返回/数据返回-JSONXML.md) | 使用GoFrame框架的Response对象实现数据返回功能，支持JSON和XML格式输出。通过WriteJson、WriteXml等方法，可以轻松实现内容输出。示例代码展示了如何使用GoFrame构建HTTP服务器，并提供支持JSONP协议的实现方式。 |
| [WEB服务开发/数据返回/数据返回-Redirect](WEB服务开发/数据返回/数据返回-Redirect.md) | 在GoFrame框架中使用RedirectTo和RedirectBack方法实现页面跳转功能。通过Location Header实现页面之间的跳转，包括跳转到指定地址和返回到上一页面。本示例演示了如何在本地服务中设置页面重定向，帮助开发者理解HTTP地址处理及Referer Header的应用。 |
| [WEB服务开发/数据返回/数据返回-Stream返回](WEB服务开发/数据返回/数据返回-Stream返回.md) | 使用GoFrame框架实现HTTP流式数据返回，适用于框架版本小于v2.4及以上的版本。通过简化的代码实现高效的流式数据传输，适用于需要长连接和持续数据更新的场景，并提供注意事项和相关资料的参考。 |
| [WEB服务开发/数据返回/数据返回-文件下载](WEB服务开发/数据返回/数据返回-文件下载.md) | 在使用GoFrame框架构建的应用程序中通过Response对象实现文件下载功能。通过ServeFile方法可以展示文件内容，而通过ServeFileDownload方法则可以引导客户端下载指定路径的文件，充分利用流式下载技术以减少内存占用，提升性能。 |
| [WEB服务开发/数据返回/数据返回-模板解析](WEB服务开发/数据返回/数据返回-模板解析.md) | 在GoFrame框架中使用Response方法进行模板解析和数据返回的操作，包括WriteTpl和ParseTpl等方法。通过这些方法，可以将模板文件或内容进行解析并输出，同时支持使用内置变量如Config、Cookie、Session等，提供了灵活的模版操作方式。同时，包含详细的使用示例代码，帮助您更好地理解和应用。 |
| [WEB服务开发/数据返回/数据返回-缓冲控制](WEB服务开发/数据返回/数据返回-缓冲控制.md) | 在GoFrame框架中如何实现数据返回的缓冲控制。通过使用缓冲区可以提高执行效率并提供更灵活的输出控制。示例代码展示了如何通过中间件统一处理返回数据，避免错误信息直接暴露给客户端，并提供自定义的错误信息提示。 |
| [WEB服务开发/数据返回/数据返回](WEB服务开发/数据返回/数据返回.md) | GoFrame框架中HTTP Server的数据返回处理。通过使用ghttp.Response对象及其提供的多种Write方法，用户可以实现高效的数据输出，包括Json、Xml格式的返回以及模板输出。此外，文中还涉及数据缓冲区的使用和HTTP头部信息的设置，帮助开发者更好地处理HTTP响应。 |
| [WEB服务开发/服务配置/服务配置-配置文件](WEB服务开发/服务配置/服务配置-配置文件.md) | 使用GoFrame框架的Server对象进行服务配置，支持通过配置文件进行配置，包括地址、日志设置和上传限制等。详细说明了单例对象的配置获取方式、默认值以及多配置管理方法，帮助用户优化服务配置策略。 |
| [WEB服务开发/服务配置/服务配置-配置文件模板](WEB服务开发/服务配置/服务配置-配置文件模板.md) | 一个GoFrame框架服务配置的文件模板，详细介绍了各项配置参数，如地址监听、TLS/HTTPS配置、静态服务、Cookie和Sessions设置、日志记录等，帮助用户更好地使用和配置GoFrame HTTP Server。 |
| [WEB服务开发/服务配置/服务配置-配置方法](WEB服务开发/服务配置/服务配置-配置方法.md) | 在GoFrame框架中通过SetConfig和SetConfigWithMap方法对服务器进行配置，包括配置对象ServerConfig的定义及使用Server对象进行特定配置。需要注意的是，配置项在Server执行Start后便不能再修改，以保证并发安全。 |
| [WEB服务开发/请求输入/请求输入-Context](WEB服务开发/请求输入/请求输入-Context.md) | 在GoFrame框架中使用Context对象处理请求流程中的上下文变量共享。通过提供必要的方法，开发者可以在请求开始时设置自定义变量，并在后续的处理中访问它们。此外，本文包含了如何集成第三方组件以增强功能的示例代码和详细步骤。 |
| [WEB服务开发/请求输入/请求输入-JSONXML](WEB服务开发/请求输入/请求输入-JSONXML.md) | GoFrame框架对JSON和XML数据格式的原生支持，详细描述了如何通过GoFrame框架的Request对象来处理客户端提交的数据格式，提高开发效率。文档中包括示例代码演示如何解析和验证提交的数据，以及如何进行数据格式转换，为开发者提供了便捷的数据获取和处理能力。 |
| [WEB服务开发/请求输入/请求输入-参数处理](WEB服务开发/请求输入/请求输入-参数处理.md) | 在使用GoFrame框架构建的应用中，通过Query或Form参数实现复杂参数传递。文中详细阐述了同名参数、数组参数及Map参数的提交格式及其在服务端的解析方式，并给出相应的代码示例。建议在遇到复杂参数传递场景时，尽量使用JSON数据编码进行管理和维护。同时介绍了GetHeader方法获取请求头信息及默认值的使用。 |
| [WEB服务开发/请求输入/请求输入-对象处理](WEB服务开发/请求输入/请求输入-对象处理.md) | 该文档详细介绍了在使用GoFrame框架时如何处理请求输入的对象转换。通过将输入和输出定义为struct结构体对象，便于结构化参数的维护。文中介绍了默认和自定义的参数映射规则，以及如何通过Request对象的Parse方法进行便捷的对象转换和数据校验。 |
| [WEB服务开发/请求输入/请求输入-自定义参数](WEB服务开发/请求输入/请求输入-自定义参数.md) | 在GoFrame框架中设置和获取自定义请求参数。自定义变量具有最高优先级，可覆盖客户端提交的参数，适用于请求流程中的变量共享。本教程还提供实际代码示例，展示如何在中间件中使用SetParam和GetParam方法来管理请求参数。 |
| [WEB服务开发/请求输入/请求输入-请求校验](WEB服务开发/请求输入/请求输入-请求校验.md) | 在GoFrame框架中通过v标签为结构体属性实现请求的输入校验。在示例中，我们讲解了如何使用gvalid模块进行校验，如何设置和解析注册请求的数据结构，以及在出现校验错误时如何处理，并展示了如何通过curl测试接口响应的数据和错误信息。此外，我们提供了不同版本的使用建议，以提高用户体验和代码的易用性。 |
| [WEB服务开发/请求输入/请求输入-默认值绑定](WEB服务开发/请求输入/请求输入-默认值绑定.md) | 在GoFrame框架中使用struct tag为请求输入对象的属性绑定默认值的功能。通过示例展示了如何定义参数对象并为其属性设置默认值，以及如何在服务端处理和验证请求参数。特别强调了在未提交参数时，默认值将生效，而在提交了参数（即使为空）的情况下，默认值将被忽略。同时提供了一些关于默认值参数绑定的注意事项建议。 |
| [WEB服务开发/请求输入/请求输入](WEB服务开发/请求输入/请求输入.md) | 在GoFrame框架中通过ghttp.Request对象实现对请求输入的处理。参数获取方式丰富，包括Get、GetQuery、GetForm等常用方法，支持多种提交类型和参数类型的自动转换。文档还探讨了参数名称大小写敏感的问题及其对API对象接受参数的影响，并提供了完整的使用示例，帮助开发者更好地理解与应用。 |
| [WEB服务开发/路由管理/路由管理-中间件拦截器/中间件拦截器-使用示例](WEB服务开发/路由管理/路由管理-中间件拦截器/中间件拦截器-使用示例.md) | 使用GoFrame框架开发的文档展示中间件与拦截器功能。通过示例实现跨域请求、中间件鉴权、错误和日志处理等功能，进行路由管理和服务方法绑定，提供灵活的Web请求管理。 |
| [WEB服务开发/路由管理/路由管理-中间件拦截器/中间件拦截器-基本介绍](WEB服务开发/路由管理/路由管理-中间件拦截器/中间件拦截器-基本介绍.md) | GoFrame框架中中间件和拦截器的基本使用。GoFrame通过优雅的中间件请求控制方式和经典的中间件洋葱模型，为WebServer提供灵活强大的插件机制。讨论了中间件定义、类型、注册方式及执行优先级，以提供全面的请求流程控制方案。 |
| [WEB服务开发/路由管理/路由管理-中间件拦截器/中间件拦截器-常见问题](WEB服务开发/路由管理/路由管理-中间件拦截器/中间件拦截器-常见问题.md) | 在使用GoFrame框架创建网站中，通过中间件修改请求参数和请求Body的常见问题及解决方案。特别关注自定义参数覆盖的机制以及修改请求Body时的注意事项，确保在中间件中正确处理HTTP请求的信息。 |
| [WEB服务开发/路由管理/路由管理-路由注册/路由注册-函数注册](WEB服务开发/路由管理/路由管理-路由注册/路由注册-函数注册.md) | 在GoFrame框架中进行路由注册，主要探讨了函数注册方法的灵活性。通过实例展示了如何利用包方法和对象方法进行路由函数的注册，以及如何确保并发安全。示例包括生成简单的“Hello World”和计算总访问量的方法，实现了通过并发安全类型gtype.Int的使用来维护访问计数。 |
| [WEB服务开发/路由管理/路由管理-路由注册/路由注册-分组路由](WEB服务开发/路由管理/路由管理-路由注册/路由注册-分组路由.md) | 在GoFrame框架中使用分组路由进行路由注册。分组路由是一种推荐的路由注册方式，支持层级和批量注册。用户可以为每个路由设置独特的HTTP Method以及应用中间件。通过这些特性，开发者能更高效地管理和优化项目的路由结构。 |
| [WEB服务开发/路由管理/路由管理-路由注册/路由注册-对象注册](WEB服务开发/路由管理/路由管理-路由注册/路由注册-对象注册.md) | 对象注册通过实例化的对象来执行路由注册，每个请求交由该对象处理，保持常驻内存不释放。该文档介绍了GoFrame框架中对象注册的相关方法，例如BindObject、BindObjectMethod、BindObjectRest等，并详细说明了对象如何按照RESTful设计进行注册。此外，还讨论了路由内置变量、命名风格规则以及Init和Shut的构造与析构方法。 |
| [WEB服务开发/路由管理/路由管理-路由注册/路由注册-规范路由/规范路由-基本示例](WEB服务开发/路由管理/路由管理-路由注册/路由注册-规范路由/规范路由-基本示例.md) | 使用GoFrame框架设置和运行一个简单的Hello服务示例，重点展示了配置文件的使用、路由定义和SwaggerUI页面的自动生成。此外，还探讨了接口文档生成、返回中间件处理以及如何定义规范化接口路径等问题，为开发者提供了一种便捷的方法来生成和测试API。 |
| [WEB服务开发/路由管理/路由管理-路由注册/路由注册-规范路由/规范路由-如何使用](WEB服务开发/路由管理/路由管理-路由注册/路由注册-规范路由/规范路由-如何使用.md) | 在GoFrame框架下定义路由方法、管理和注册路由，以及请求对象和返回对象的规范化结构。通过使用分组路由的Bind方法和基本的BindHandler方法，我们可以有效地管理路由。还包括如何进行输入数据校验以及使用统一的后置中间件进行数据处理。 |
| [WEB服务开发/路由管理/路由管理-路由注册/路由注册-规范路由/规范路由-常见问题](WEB服务开发/路由管理/路由管理-路由注册/路由注册-规范路由/规范路由-常见问题.md) | 在使用GoFrame框架的规范路由下，如何支持同一接口的多种HTTP Method提交方式。在设计RESTful接口时，每个API应有明确的HTTP Method对应，如创建用户、获取用户列表等。如果需要一个接口支持多个HTTP Method，可以通过Meta标签设置。此外，介绍如何使用类型别名让Response结构体的Data字段返回数组形式。 |
| [WEB服务开发/路由管理/路由管理-路由注册/路由注册-规范路由/路由注册-规范路由](WEB服务开发/路由管理/路由管理-路由注册/路由注册-规范路由/路由注册-规范路由.md) | GoFrame框架的规范路由注册方式，适合复杂项目和团队协作。新版本从v2.0开始支持，涵盖API结构化设计、参数风格定义、接口文档自动生成及同步维护等特性。 |
| [WEB服务开发/路由管理/路由管理-路由注册/路由管理-路由注册](WEB服务开发/路由管理/路由管理-路由注册/路由管理-路由注册.md) | 在GoFrame框架中如何进行路由注册和管理。WebServer通过ghttp包提供多种路由注册模式，提供强大的接口功能。特别是从框架v2版本开始，加入了规范路由的特性，旨在增强项目的工程化能力和复杂业务场景的适配。建议开发者在复杂业务中使用规范路由。 |
| [WEB服务开发/路由管理/路由管理-路由规则](WEB服务开发/路由管理/路由管理-路由规则.md) | GoFrame框架中强大的路由功能及其优化特性，包括命名匹配、模糊匹配和字段匹配等多种路由规则。通过示例代码展示如何使用这些规则管理和匹配不同的URL。此外，还详细讲解了如何利用精准匹配规则与动态匹配规则结合使用，以便更高效地控制路由优先级。 |
| [WEB服务开发/高级特性/CORS跨域处理](WEB服务开发/高级特性/CORS跨域处理.md) | 使用GoFrame框架处理CORS跨域请求，结合路由管理中间件设置跨域规则，允许WebSocket跨域访问。提供CORS对象及其配置参数，包含默认和限制Origin来源的设置。同时，通过示例展示了基本使用方法、授权跨域Origin和自定义检测的方法，以实现更灵活的跨域请求管理。 |
| [WEB服务开发/高级特性/CSRF防御设置](WEB服务开发/高级特性/CSRF防御设置.md) | 讲解如何在GoFrame框架中通过CSRF防御设置保护Web应用程序安全。我们将介绍使用token校验机制并通过中间件实现插件化防护的方法。包括插件的安装和配置以及前端对接的关键步骤和代码示例，帮助开发者有效抵御CSRF攻击。 |
| [WEB服务开发/高级特性/HOOK事件回调](WEB服务开发/高级特性/HOOK事件回调.md) | GoFrame框架中ghttp.Server提供的HOOK事件回调功能，该功能类似于中间件，通过自定义监听处理特定事件，绑定事件回调注册顺序明确回调调用优先级。详细讲解了HOOK事件的使用方法、接口鉴权控制、跨域请求处理等实际应用场景，并结合示例代码展示事件回调的具体执行方式及优先级机制。 |
| [WEB服务开发/高级特性/HTTPS & TLS](WEB服务开发/高级特性/HTTPS%20&%20TLS.md) | 使用GoFrame框架构建HTTPS服务，包括准备工作、示例代码以及通过Let’s Encrypt获取免费SSL证书的方法。同时，还探讨了如何在同一WebServer下同时支持HTTP和HTTPS访问协议的方法，确保您的应用更安全。 |
| [WEB服务开发/高级特性/HTTPServer-监控指标](WEB服务开发/高级特性/HTTPServer-监控指标.md) | 该文档介绍了如何在GoFrame框架中启用HTTP Server的监控指标功能，提供了详细的指标和属性列表，帮助用户实现HTTP服务器性能的监控与优化。通过启用metric特性，可以跟踪请求执行时间、请求总数以及传输字节大小等关键性能指标。 |
| [WEB服务开发/高级特性/PProf服务性能分析](WEB服务开发/高级特性/PProf服务性能分析.md) | 在使用GoFrame框架搭建的Web Server中利用pprof工具进行性能分析。GoFrame框架集成了pprof，可以借助EnablePProf方法便捷开启性能分析功能，并探讨了如何设置独立的PProf Server，以有效监控内存使用、goroutine行为及CPU性能等关键指标，同时提供具体命令行示例与解析。 |
| [WEB服务开发/高级特性/SameSite 设置](WEB服务开发/高级特性/SameSite%20设置.md) | 在使用GoFrame框架构建的服务器中设置SameSite属性。通过详细的代码例子，您可以学习如何配置SameSite以确保cookie安全性，尤其是在chrome89及以上版本中处理不同协议的跨站请求。 |
| [WEB服务开发/高级特性/WebSocket服务](WEB服务开发/高级特性/WebSocket服务.md) | 使用GoFrame框架开发WebSocket服务，包括HTML5客户端、WebSocket服务端、HTTPS支持和安全校验等内容。通过示例代码，展示了WebSocket的连接与信息传递机制，并详细说明了服务端与客户端之间的通信流程和数据处理方法，让读者能够快速上手并实现功能齐全的WebSocket服务。 |
| [WEB服务开发/高级特性/平滑重启特性](WEB服务开发/高级特性/平滑重启特性.md) | 在使用GoFrame框架时启用和管理平滑重启特性。通过该功能，WebServer在更新版本或者重启时，无需中断已有请求，从而提高服务稳定性和用户体验。支持在*nix系统下的平滑重启和Windows系统下的完整重启，并提供Web和命令行的管理方法。还展示了具体的使用示例，包括基本使用、HTTPS支持和多服务多端口场景的平滑管理。 |
| [WEB服务开发/高级特性/服务日志管理](WEB服务开发/高级特性/服务日志管理.md) | 使用GoFrame框架进行服务日志管理，包括access log和error log的配置与使用。详细解释了日志配置对象及属性，如Logger、LogPath、ErrorStack等，并提供了详细的日志格式说明和自定义日志处理方法。同时，还涉及如何通过配置文件和代码方法进行日志设置，以及日志格式和错误日志的记录方式和示例。 |
| [WEB服务开发/高级特性/自定义状态码处理](WEB服务开发/高级特性/自定义状态码处理.md) | 在GoFrame框架中实现自定义状态码处理。通过使用BindStatusHandler方法，开发者可以为WebServer指定的状态码如404、403、500等进行自定义处理，包括展示自定义错误信息或页面内容，以及实现错误页面的重定向。示例代码演示了如何进行基本设置和批量状态码处理。 |
| [WEB服务开发/高级特性/静态文件服务](WEB服务开发/高级特性/静态文件服务.md) | 了解如何在GoFrame框架中配置和使用静态文件服务，包括静态文件目录设置、静态文件服务开启条件、URI与静态目录映射、自定义URI重写规则及跨域配置示例，帮助开发者有效管理和优化项目中的静态资源访问。 |
| [常见问题-FAQ](常见问题-FAQ.md) | 使用GoFrame框架和Golang进行开发时的常见问题解答，包括如何处理程序异常、新goroutine的创建方案、屏蔽json输出字段、解决兼容性问题、配置环境及glog错误修复，通过这些信息帮助开发者优化调试应用程序。 |
| [开发工具/交叉编译-build](开发工具/交叉编译-build.md) | GoFrame提供的gf build命令是go build的强大封装工具，支持多平台多架构的交叉编译。该命令可自动嵌入编译变量（Go版本、GoFrame版本、Git Commit、编译时间等），支持配置文件和命令行参数，支持资源文件打包，为Go项目的跨平台构建提供便捷高效的解决方案。 |
| [开发工具/代码生成-gen/代码生成-gen](开发工具/代码生成-gen/代码生成-gen.md) | GoFrame框架CLI工具的核心代码生成功能模块，从v2版本开始提供的自动化代码生成能力，包含dao/do/entity数据模型生成、protobuf协议编译、接口控制器生成、业务服务接口生成、枚举值维护等多种代码生成命令。该工具旨在规范化项目代码编写、简化开发复杂度、让开发者聚焦业务逻辑实现，特别适用于企业级项目和多人协作的团队项目。工具通过统一的代码风格和规范化的目录结构，确保团队成员编码风格一致，显著提升开发效率和代码质量，但对于单人小型项目可根据实际需求灵活选择是否使用。 |
| [开发工具/代码生成-gen/协议编译-gen pb](开发工具/代码生成-gen/协议编译-gen%20pb.md) | GoFrame框架的协议编译命令工具，用于编译protobuf协议文件并自动生成相应的Go语言接口代码和控制器文件。该命令支持自定义接口文件和控制器文件的输出路径配置，能够智能识别已存在的接口实现方法并避免重复生成，有效防止代码覆盖。通过gf gen pb命令可以快速完成从proto协议定义到Go代码实现的转换，显著提升gRPC服务开发效率，简化微服务架构中的接口定义和实现流程。 |
| [开发工具/代码生成-gen/接口规范-gen ctrl](开发工具/代码生成-gen/接口规范-gen%20ctrl.md) | GoFrame提供的gf gen ctrl命令用于根据API接口定义自动生成控制器和SDK代码。该命令规范了API定义与控制器的命名和关联关系，支持按照/api/模块/版本/定义文件的目录结构组织代码，可自动生成控制器接口、初始化代码和HTTP SDK，支持File Watch自动化生成模式，有效减少重复性代码工作，降低多人协作时的代码冲突概率，提高团队开发效率。 |
| [开发工具/代码生成-gen/数据表PB-gen pbentity](开发工具/代码生成-gen/数据表PB-gen%20pbentity.md) | GoFrame框架提供的数据表结构至protobuf文件的自动转换工具，通过gf gen pbentity命令读取数据库表结构生成对应的proto数据结构定义文件。该工具与gen dao模块生成的entity不同，pbentity主要用于gRPC服务中的数据传输实体，支持多种数据库类型，可自定义字段命名格式和JSON标签格式，提供灵活的类型映射配置，适用于需要同时提供HTTP和gRPC服务的微服务架构，实现数据库表结构与protobuf协议定义的自动同步维护。 |
| [开发工具/代码生成-gen/数据规范-gen dao](开发工具/代码生成-gen/数据规范-gen%20dao.md) | GoFrame框架的gf gen dao命令用于自动生成dao数据访问对象、do数据转化模型和entity实体数据模型的Go代码文件。该命令是框架工程规范落地的关键工具，支持通过命令行参数或配置文件管理生成规则，适用于MySQL、PostgreSQL、SQLite等多种数据库类型，支持表名通配符匹配、自定义类型映射、分表规则等高级功能，可显著提高数据层代码的开发效率和规范性。 |
| [开发工具/代码生成-gen/枚举维护-gen enums](开发工具/代码生成-gen/枚举维护-gen%20enums.md) | GoFrame框架提供的枚举维护命令工具，通过自动分析项目源码生成规范化的枚举值定义和Go代码文件，主要用于完善OpenAPIv3文档中的枚举值维护。该工具能够有效解决API文档中枚举值类型参数展示不全、代码与文档脱节等问题，通过AST语法树解析技术自动识别和注册枚举值，显著降低手工维护成本，避免枚举值遗漏，提高前后端协作效率和开发质量。 |
| [开发工具/兼容修复-fix](开发工具/兼容修复-fix.md) | GoFrame提供的gf fix命令用于自动修复GoFrame版本升级过程中的代码兼容性问题。该命令从v2.3版本开始提供，可自动检测项目中使用的GoFrame版本，并应用相应的兼容性修复规则，支持重复执行且无副作用。在框架难以保证完全向下兼容时，此命令可有效帮助开发者快速完成代码更新。 |
| [开发工具/工具安装-install](开发工具/工具安装-install.md) | GoFrame框架命令行工具gf的安装指南，提供多种安装方式包括预编译二进制文件下载和通过go install命令安装。支持MacOS、Linux和Windows等多种操作系统，对于Mac/Linux系统提供一键快捷下载命令。install命令用于将gf工具安装到系统环境变量路径中，使用户可在任意目录下直接使用gf命令。文档详细说明了不同版本（v2/v1）的下载和安装方法，并提供了完整的安装示例和注意事项，包括MacOS zsh别名冲突的解决方案。 |
| [开发工具/开发工具](开发工具/开发工具.md) | GoFrame框架提供的功能强大的gf命令行开发辅助工具，是框架生态的重要组成部分。工具旨在简化工程开发流程、提高开发效率，并且支持框架工程设计规范准确落地。工具提供包括项目初始化、代码生成、自动编译、跨平台构建、框架升级等丰富功能。所有命令同时支持命令行参数和配置文件两种参数配置方式，提高易用性。工具版本与框架最新版本保持同步，需要Golang开发环境支持，遇到问题时可开启调试模式获取详细执行日志。 |
| [开发工具/框架升级-up](开发工具/框架升级-up.md) | GoFrame框架提供的一键升级命令工具，从v2.3版本开始提供。通过gf up命令可以将项目中的GoFrame主框架和社区组件同时升级至最新版本，并且能够智能识别和自动修复版本升级过程中的不兼容代码变更。支持多种升级选项：单独升级框架版本、同时升级CLI工具、开启自动代码修复等。升级前建议git提交或备份代码，以便必要时回滚。该工具特别适合需要频繁更新框架版本的项目，能够大大简化版本迁移和升级流程。 |
| [开发工具/版本查看-version](开发工具/版本查看-version.md) | GoFrame命令行工具的版本信息查看命令，通过gf -v或gf version查看gf工具的详细版本信息。命令会显示多项关键信息：CLI工具本身的编译版本、当前项目go.mod中使用的GoFrame框架版本、Go编译器版本、Git提交版本和构建时间等。特别需要注意区分项目中引用的GoFrame版本与CLI工具编译时的GF版本，这两者可能不同。该命令对于排查版本兼容性问题和确认工具安装状态非常有用。 |
| [开发工具/自动编译-run](开发工具/自动编译-run.md) | GoFrame框架提供的自动编译运行命令工具，通过gf run命令实现类似热编译的开发体验。需要注意Golang本身不支持真正的热编译，gf run实际是通过监控项目go文件变化来自动触发重新编译和运行，从而避免手动停止、编译、启动的重复操作。工具会递归监控当前运行目录的所有go文件变化，支持自定义编译参数、运行参数、输出目录以及额外监控路径等配置，支持命令行和配置文件两种参数配置方式，显著提升本地开发调试效率。 |
| [开发工具/资源打包-pack](开发工具/资源打包-pack.md) | GoFrame框架提供的资源打包命令工具，通过gf pack命令将项目中的任意文件或目录（如静态资源、模板文件、配置文件等）打包成二进制资源文件或Go代码文件。打包后的资源文件可以嵌入到可执行文件中，实现单一可执行文件部署，无需另外携带资源文件。支持多源路径打包、自定义路径前缀、保留源路径等灵活配置，可与build命令结合实现打包和编译一步完成。该功能特别适用于需要将前端资源、配置文件嵌入后端服务的场景。 |
| [开发工具/镜像编译-docker](开发工具/镜像编译-docker.md) | GoFrame提供的gf docker命令用于将Go项目编译并打包成Docker镜像。该命令支持自动执行二进制编译、镜像构建和推送等操作，支持通过命令行参数或配置文件管理构建选项。从v2.5版本起，推荐使用Makefile脚本组合gf build、gf gen enums、gf docker等命令，提供更灵活的镜像构建方案。 |
| [开发工具/项目创建-init](开发工具/项目创建-init.md) | GoFrame框架提供的项目初始化命令工具，通过gf init命令快速创建标准化的GoFrame项目脚手架。从v2版本开始，项目模板已内置于工具二进制文件中，创建速度极快。支持创建SingleRepo单仓项目、MonoRepo大仓项目和MonoRepoApp大仓子项目三种模式。同时支持从远程仓库拉取模板创建项目，包括Go模块和Git仓库子目录两种方式。提供交互式模式引导用户完成项目创建，支持自定义Go模块路径、版本选择、依赖升级等高级功能。生成的目录结构遵循框架推荐的代码分层设计规范，项目结构采用通用化设计，开发者可根据实际需求灵活调整。 |
| [微服务开发/工程管理](微服务开发/工程管理.md) | 详细介绍GoFrame框架微服务开发的工程管理规范，包括统一的工程目录结构设计、协议文件的组织管理、接口文件的生成和存放规则。系统讲解如何使用框架内置的gf gen pbentity命令自动生成数据表对应的protobuf协议文件，以及如何通过gf gen pb命令编译proto文件并自动生成接口文件和控制器文件。同时阐述微服务的启动控制机制、接口实现与注册的规范流程，以及标签自动注入和数据校验插件的集成使用方法，帮助开发者快速构建标准化的微服务应用。 |
| [微服务开发/微服务开发](微服务开发/微服务开发.md) | 全面介绍GoFrame框架的微服务开发能力与特性。从v2.4版本开始，框架提供了完整的微服务组件支持，包括HTTP和gRPC两种通信协议的实现方式。详细讲解微服务的基本概念、低耦合组件化设计思想、服务注册发现机制的使用方法，以及内置的分布式链路跟踪能力。通过HTTP和gRPC两个完整的实战示例，演示服务端和客户端的开发流程，涵盖protobuf协议文件定义、服务注册配置、接口实现、服务启动和客户端调用等关键环节，帮助开发团队快速掌握GoFrame微服务架构的开发与应用。 |
| [微服务开发/拦截器组件](微服务开发/拦截器组件.md) | 详细介绍GoFrame框架中gRPC拦截器的使用方法和内置拦截器功能。讲解如何在服务端和客户端灵活配置和使用拦截器，包括使用grpcx.Server.ChainUnary添加服务端拦截器和grpcx.Client.ChainUnary添加客户端拦截器。系统介绍框架grpcx组件提供的一系列常用拦截器，涵盖链路跟踪支持、错误处理组件集成、服务端Panic自动捕获、nil响应对象支持、基于结构体标签的自动数据校验等功能，帮助开发者提高gRPC服务的可扩展性、稳定性和可维护性。 |
| [微服务开发/服务注册发现](微服务开发/服务注册发现.md) | 全面介绍GoFrame框架微服务架构中服务注册发现组件的使用方法和实现机制。详细讲解由gsvc组件管理的服务注册发现接口定义和社区实现，包括etcd、zookeeper、polaris、consul、nacos等多种主流注册中心的集成方式。通过HTTP和gRPC两种协议的完整示例，演示如何配置和使用服务注册发现功能，实现微服务的自动注册、服务发现和动态路由。阐述注册发现组件的启用方式、全局设置方法以及与框架各组件的协作机制，帮助开发者构建高可用、可扩展的分布式微服务系统。 |
| [微服务开发/服务端配置](微服务开发/服务端配置.md) | 详细介绍GoFrame框架gRPC服务端的配置管理方法和最佳实践。系统讲解GrpcServerConfig配置对象的各个参数含义和使用方式，包括服务名称、监听地址、日志存储目录、错误日志记录、访问日志记录等核心配置项。提供完整的YAML格式配置模板示例，涵盖基础配置和日志组件扩展配置的详细参数说明。阐述配置文件的自动读取和映射机制，以及访问端口配置、服务注册地址配置等重要注意事项，帮助开发者实现灵活高效的gRPC服务端配置管理和日志管理。 |
| [微服务开发/服务负载均衡](微服务开发/服务负载均衡.md) | 深入讲解GoFrame框架中客户端负载均衡组件gsel的使用方法和策略配置。详细介绍框架内置的四种负载均衡策略：LeastConnection（最小连接数）、Random（随机访问）、RoundRobin（轮询访问）和Weight（权重访问），阐述各策略的适用场景和特点。通过HTTP和gRPC两种协议的完整代码示例，演示如何在客户端配置和使用负载均衡策略，包括全局策略设置和请求级别策略选择。展示负载均衡在多服务端实例场景下的实际运行效果和请求分发机制，帮助开发者实现高可用、高性能的微服务架构。 |
| [微服务开发/服务配置管理](微服务开发/服务配置管理.md) | 全面介绍GoFrame框架的配置管理组件及其在微服务架构中的应用。详细讲解框架的解耦化和接口化设计，支持灵活对接多种第三方配置管理中心，包括Polaris、Apollo、Nacos、Consul等主流配置中心，以及Kubernetes ConfigMap容器编排配置。通过Polaris配置中心的完整实战示例，演示配置管理组件的启用方式、初始化配置、参数说明和使用方法。阐述包初始化的引入顺序要求、配置文件的读取机制、以及配置数据的获取和验证方法，帮助开发者实现微服务的集中化配置管理和动态配置更新能力。 |
| [微服务开发/环境准备](微服务开发/环境准备.md) | 介绍GoFrame微服务开发的环境准备工作，包括gRPC协议的依赖安装指南、protoc工具的配置方法、protoc-gen-go和protoc-gen-go-grpc插件的安装，以及GoFrame框架CLI工具（v2.4+版本）的准备工作，帮助开发者快速搭建微服务开发环境。 |
| [微服务开发/脚手架模块](微服务开发/脚手架模块.md) | 介绍 GoFrame 框架 grpcx 脚手架组件的完整功能，包括 Server 服务端对象的创建与维护、Client 客户端的服务名称访问、Ctx 上下文的 Incoming/Outgoing 数据传递、Balancer 负载均衡策略（随机、轮询等）、Resolver 服务注册发现（支持 etcd 等组件），帮助开发者快速构建和管理 gRPC 微服务应用。 |
| [服务可观测性/服务监控告警/监控告警-内置指标](服务可观测性/服务监控告警/监控告警-内置指标.md) | 介绍 GoFrame 框架内置的 Go 运行时基础指标的使用方法。详细阐述如何通过 otelmetric.WithBuiltInMetrics() 参数开启 Go 基础指标，包括 cgo 调用次数、GC 周期统计、GC 暂停时间、协程数量、堆内存分配与使用情况等 13 种运行时指标。文中提供完整的示例代码，展示如何结合 Prometheus Exporter 导出指标，并启动 HTTP 服务器供 Prometheus 拉取指标数据。包含详细的指标说明表，明确每个指标的名称、类型（Counter、Histogram、Gauge）、单位和描述，帮助开发者实现 Go 应用的性能监测和优化。 |
| [服务可观测性/服务监控告警/监控告警-同步指标](服务可观测性/服务监控告警/监控告警-同步指标.md) | 在GoFrame框架中使用同步指标，通过gmetric提供的Counter、UpDownCounter和Histogram等类型快速暴露和记录HTTP请求的相关数据。利用Prometheus协议实现指标输出，以供外部监控工具抓取和分析，达到有效的性能监控和管理。 |
| [服务可观测性/服务监控告警/监控告警-基本介绍](服务可观测性/服务监控告警/监控告警-基本介绍.md) | 介络GoFrame框架监控告警的基础知识，重点介绍 OpenTelemetry 关于监控和告警设计的相关规范和组件，涵盖 Meter Provider、Meter、Instrument、Measurements、View、Metric Reader、Metric Exporter 等组件及其数据流关系。详细阐述同步指标类型（Counter、UpDownCounter、Histogram）和异步指标类型（ObservableCounter、ObservableGauge等）的使用场景。介绍框架通过 gmetric 组件实现监控能力，采用抽象解耦设计，默认关闭监控，只有引入监控接口实现时才自动开启。 |
| [服务可观测性/服务监控告警/监控告警-基本使用](服务可观测性/服务监控告警/监控告警-基本使用.md) | 介绍在GoFrame框架中使用 gmetric 组件进行监控指标的开发方法。详细讲解如何通过引入 otelmetric 组件利用 OpenTelemetry 实现框架的监控指标接口。涵盖全局 Provider 获取、Meter 组件对象创建、监控指标对象的创建与配置（包括 Counter、UpDownCounter、Histogram 等同步指标类型，以及 ObservableCounter、ObservableGauge 等异步指标类型）。介绍 MetricOption 配置项的使用，包括 Help、Unit、Attributes、Buckets 等属性设置。演示如何使用 ManualReader 读取指标数据，以及 Provider 的全局设置与优雅关闭。通过完整的代码示例展示从初始化到数据读取的完整流程。 |
| [服务可观测性/服务监控告警/监控告警-异步指标](服务可观测性/服务监控告警/监控告警-异步指标.md) | 在GoFrame框架下使用异步监控指标，详细说明了ObservableCounter、ObservableUpDownCounter和ObservableGauge三种异步指标的使用方法。通过定义Callback函数管理指标数值变化，并利用Prometheus导出指标数据。 |
| [服务可观测性/服务监控告警/监控告警-指标属性](服务可观测性/服务监控告警/监控告警-指标属性.md) | 介绍GoFrame监控告警组件中指标属性的使用，包括常量属性、变量属性和全局属性三种注入方式，通过示例演示如何结合OpenTelemetry和Prometheus实现灵活的监控和分析。 |
| [服务可观测性/服务链路跟踪/链路跟踪-GRPC示例](服务可观测性/服务链路跟踪/链路跟踪-GRPC示例.md) | 使用GoFrame框架开发一个简单的GRPC服务端和客户端，并为GRPC微服务增加链路跟踪特性。示例代码说明了如何初始化Jaeger，用Redis适配器实现缓存，以及在客户端与服务端间进行链路信息传递。 |
| [服务可观测性/服务链路跟踪/链路跟踪-HTTP示例/链路跟踪-HTTP示例-Baggage](服务可观测性/服务链路跟踪/链路跟踪-HTTP示例/链路跟踪-HTTP示例-Baggage.md) | 使用GoFrame框架进行链路跟踪，重点展示了通过HTTP示例实现Baggage数据在服务间传递的方法。详细说明了客户端和服务端的代码实现，包括如何设置和获取Baggage，并提供了Jaeger查看链路信息的方式，为开发者在分布式系统中实现高效的链路跟踪提供了实用指南。 |
| [服务可观测性/服务链路跟踪/链路跟踪-HTTP示例/链路跟踪-HTTP示例-数据操作](服务可观测性/服务链路跟踪/链路跟踪-HTTP示例/链路跟踪-HTTP示例-数据操作.md) | 该文档详细介绍了如何在GoFrame框架中实现链路跟踪，通过HTTP和数据库操作示例，展示了如何使用OTLP进行端到端的追踪。在示例中集成了缓存管理、数据库操作和Redis使用，通过Jaeger查看详细的链路信息，并分析了跨越客户端和服务端的追踪数据，帮助开发者优化和调试全流程。 |
| [服务可观测性/服务链路跟踪/链路跟踪-准备工作](服务可观测性/服务链路跟踪/链路跟踪-准备工作.md) | 介绍在 GoFrame 框架中使用 Jaeger 实现链路追踪的准备工作。包括 Jaeger 的基本介绍和快速部署方法（使用 Docker all-in-one 镜像）、GoFrame 框架中示例代码的位置、以及已封装好的 Jaeger、OTLP HTTP、OTLP GRPC 注册模块的使用方法，帮助开发者快速搭建 OpenTelemetry 分布式链路追踪环境。 |
| [服务可观测性/服务链路跟踪/链路跟踪-基本示例](服务可观测性/服务链路跟踪/链路跟踪-基本示例.md) | 介绍如何在单进程中使用GoFrame进行链路跟踪。通过创建Root Span来追踪方法调用链，展示如何使用gtrace.NewSpan在方法间创建Span记录方法调用过程。详细的示例代码演示了main函数创建root span、GetUser/GetInfo/GetDetail/GetScores等方法间的span调用关系和context传递。最后在Jaeger UI中查看链路追踪结果，包括span的调用顺序、调用关系、执行时间轴、Attributes和Events信息，帮助用户快速定位系统异常和发现性能瓶颈。 |
| [服务可观测性/服务链路跟踪/链路跟踪-最佳实践/链路跟踪-TraceID注入和获取](服务可观测性/服务链路跟踪/链路跟踪-最佳实践/链路跟踪-TraceID注入和获取.md) | 全面介绍`GoFrame`框架中`TraceID`的注入和获取机制，`TraceID`作为服务间请求关联的唯一标识通过`Context`传递。详细讲解客户端和服务端的`TraceID`注入机制：客户端自动注入`OpenTelemetry`规范的32字节`TraceID`，服务端自动承接或创建。介绍三种获取`TraceID`的方式：使用`gctx.New/WithCtx`自动生成、`gtrace.WithTraceID`自定义、以及从`Response Header`读取。提供完整代码示例展示HTTP响应头中的`Trace-Id`和客户端`TraceID`注入。 |
| [服务可观测性/服务链路跟踪/链路跟踪-背景知识](服务可观测性/服务链路跟踪/链路跟踪-背景知识.md) | OpenTelemetry项目的背景和重要概念，包括TracerProvider、Tracer、Span、Attributes、Events、SpanContext和Propagator等组件，并说明了GoFrame框架在这些技术上的支持，以及如何使用gtrace模块实现链路跟踪。此外，还列举了支持OpenTelemetry标准的GoFrame核心组件，如HTTP客户端、HTTP服务端、gRPC客户端和服务端、Logging、ORM和NoSQL Redis等。 |
| [核心组件/I18N国际化/I18N国际化-使用介绍](核心组件/I18N国际化/I18N国际化-使用介绍.md) | 在GoFrame框架中使用i18n国际化功能，包括对象创建、语言设置、常用方法以及与视图引擎的集成。详细描述了通过单例和独立对象管理语言转译的方式，使用SetLanguage和WithLanguage方法进行语言设定，并通过T和Tf方法实现关键字和模板内容的转译。文章还展示了通过上下文设置和视图引擎进行国际化操作的示例。 |
| [核心组件/I18N国际化/I18N国际化-配置管理](核心组件/I18N国际化/I18N国际化-配置管理.md) | I18N国际化组件是GoFrame框架的核心组件之一，支持多种配置文件格式如xml、ini、yaml、toml等，并兼容多种目录结构和文件格式，开发者可通过配置实现多语言支持。系统自动识别语言文件，支持自定义路径设置，推荐使用标准国际化语言码进行文件命名，确保程序多语言兼容性。 |
| [核心组件/I18N国际化/I18N国际化](核心组件/I18N国际化/I18N国际化.md) | GoFrame框架中的I18N国际化组件，它由gi18n模块实现。通过导入相关模块，开发者能够在软件项目中轻松实现多语言支持，从而提高应用的国际化能力。详细接口文档可通过提供的网址查看，以获得更多技术细节。 |
| [核心组件/命令管理/命令管理-Parser解析](核心组件/命令管理/命令管理-Parser解析.md) | GoFrame框架的命令行解析功能，重点讲解了gcmd组件的Parser解析方法。通过自定义选项名称和数值解析，能够高效管理和解析命令行选项。包括代码示例和详细的接口文档，帮助开发者理解和应用于实际项目中。 |
| [核心组件/命令管理/命令管理-命令行对象](核心组件/命令管理/命令管理-命令行对象.md) | 详细介绍`GoFrame`框架`gcmd`组件的`Command`对象管理，包括对象定义、`Func`/`FuncWithValue`/`HelpFunc`三种回调方法、多层级命令管理、子命令添加及帮助信息自动生成功能，适用于需要管理单个或多个命令行入口的应用场景。 |
| [核心组件/命令管理/命令管理-基本概念](核心组件/命令管理/命令管理-基本概念.md) | 详细讲解命令行管理中参数(`Argument`)和选项(`Option`)的基本概念及区别，阐述参数的顺序性、选项的无序性及命名规则。介绍`gcmd`组件对选项位置的灵活支持、等号连接符的使用以及默认解析规则，帮助开发者理解命令行输入的解析机制。 |
| [核心组件/命令管理/命令管理-基础方法](核心组件/命令管理/命令管理-基础方法.md) | 全面介绍`GoFrame`框架`gcmd`组件的常用基础方法，包括`Init`自定义命令行数据、`GetArg`/`GetArgAll`参数获取、`GetOpt`/`GetOptAll`选项获取以及`GetOptWithEnv`环境变量自动读取支持。这些方法按照默认解析规则直接获取命令行参数及选项，简化命令行操作。 |
| [核心组件/命令管理/命令管理-终端交互](核心组件/命令管理/命令管理-终端交互.md) | 详细介绍`GoFrame`框架`gcmd`组件的终端交互功能，提供`Scan`和`Scanf`两种方法从终端读取用户输入数据，适用于需要与用户进行交互的命令行程序场景，如配置信息收集、确认操作等，支持格式化输入和自动回车确认。 |
| [核心组件/命令管理/命令管理-结构化参数](核心组件/命令管理/命令管理-结构化参数.md) | 深入讲解`GoFrame`框架的结构化命令行参数管理，通过对象化管理命令和规范化的`Input`/`Output`参数对象，实现参数/选项的类型定义、说明描述、自动数据转换、自动数据校验和配置读取支持，解决传统命令行管理中参数索引硬编码、难以校验等痛点，适用于需要管理大量命令行的项目。 |
| [核心组件/命令管理/命令管理-链路跟踪](核心组件/命令管理/命令管理-链路跟踪.md) | 详细介绍`GoFrame`框架命令管理组件的跨进程链路跟踪功能，基于`OpenTelemetry`规范实现主进程与子进程之间的链路信息自动传递，特别适用于临时运行的进程场景，通过`gctx.GetInitCtx()`获取初始化上下文实现链路信息的传递。 |
| [核心组件/命令管理/命令管理](核心组件/命令管理/命令管理.md) | 介绍GoFrame框架的gcmd命令行管理组件，提供结构化参数管理、多层级命令、自动类型转换、参数校验、链路跟踪等特性，支持从配置组件读取参数和自动生成帮助信息。 |
| [核心组件/对象管理](核心组件/对象管理.md) | 介绍GoFrame框架的g模块对象管理功能，包括常用数据类型别名（Var、Map、Slice等）以及单例对象的获取方法。通过g.*方法可以方便地获取HTTP客户端、数据校验、配置管理、日志管理、模板引擎、WEB/TCP/UDP Server、数据库ORM、Redis客户端等常用对象，实现简便高效的对象管理。 |
| [核心组件/数据库ORM/ORM上下文变量](核心组件/数据库ORM/ORM上下文变量.md) | 在GoFrame框架中如何通过ORM支持自定义的上下文变量，以实现异步IO控制、链路跟踪、嵌套事务等功能。通过使用Ctx方法，开发者可以轻松传递自定义上下文变量，实现更复杂的请求控制和跟踪。文章提供了请求超时控制和模型上下文操作的具体示例和建议。 |
| [核心组件/数据库ORM/ORM事务处理/ORM事务处理-事务传播](核心组件/数据库ORM/ORM事务处理/ORM事务处理-事务传播.md) | GoFrame ORM事务传播功能提供了灵活的事务管理机制，支持多种事务传播行为，满足复杂业务场景下的事务处理需求。 |
| [核心组件/数据库ORM/ORM事务处理/ORM事务处理-只读模式](核心组件/数据库ORM/ORM事务处理/ORM事务处理-只读模式.md) | GoFrame ORM 事务只读模式详解，包括基本概念、优势、应用场景以及代码示例，帮助开发者提高数据库操作的安全性和性能。 |
| [核心组件/数据库ORM/ORM事务处理/ORM事务处理-嵌套事务](核心组件/数据库ORM/ORM事务处理/ORM事务处理-嵌套事务.md) | 使用GoFrame框架中的ORM功能来处理嵌套事务的问题。文章详细讲解了嵌套事务的基本原理、方法以及日志信息，同时给出了常规操作和闭包操作的示例，并指出可能出现的问题。最后提供了嵌套事务在工程中的参考示例，帮助开发者理解在实际项目中如何应用。 |
| [核心组件/数据库ORM/ORM事务处理/ORM事务处理-常规操作](核心组件/数据库ORM/ORM事务处理/ORM事务处理-常规操作.md) | 在GoFrame框架中进行ORM事务处理的基础操作，包括如何使用Begin、Commit和Rollback方法来开启、提交和回滚事务。同时特别提示事务操作后需要及时关闭事务以避免资源泄露，建议使用Transaction闭包方法实现安全事务操作。 |
| [核心组件/数据库ORM/ORM事务处理/ORM事务处理-闭包操作](核心组件/数据库ORM/ORM事务处理/ORM事务处理-闭包操作.md) | 在GoFrame框架中使用闭包操作进行ORM事务处理的优点，包括减少冗余代码、降低操作风险和简化嵌套事务，实现自动提交和回滚功能，并介绍了上下文参数在嵌套事务管理中的作用，确保事务处理的安全性和简便性。 |
| [核心组件/数据库ORM/ORM事务处理/ORM事务处理-隔离级别](核心组件/数据库ORM/ORM事务处理/ORM事务处理-隔离级别.md) | GoFrame ORM 事务隔离级别详解，包括基本概念、不同隔离级别的特点、优势与应用场景，以及在 GoFrame 中使用事务隔离级别的代码示例和实际应用案例。 |
| [核心组件/数据库ORM/ORM使用配置/ORM使用配置-配置文件](核心组件/数据库ORM/ORM使用配置/ORM使用配置-配置文件.md) | 使用GoFrame框架的配置组件来管理数据库配置，包括推荐使用的yaml格式配置文件。通过g对象轻松获取数据库操作的单例对象，支持多种数据格式下的配置和简化的连接配置方式，实现集群模式与日志输出功能。 |
| [核心组件/数据库ORM/ORM使用配置/ORM使用配置-配置方法](核心组件/数据库ORM/ORM使用配置/ORM使用配置-配置方法.md) | 在GoFrame框架中配置管理gdb数据库模块。主要涵盖了数据结构设计、配置特点、以及具体的配置方法。通过配置ConfigNode和ConfigGroup，开发者可以灵活地管理多节点数据库集群，实现高效的负载均衡和读写分离。此外，还提供了一些默认的分组和自定义全局配置的示例。 |
| [核心组件/数据库ORM/ORM分库分表/ORM分库分表-分库特性](核心组件/数据库ORM/ORM分库分表/ORM分库分表-分库特性.md) | GoFrame ORM分库特性提供了灵活高效的库分片功能，支持自定义分库规则，轻松实现数据库水平扩展。 |
| [核心组件/数据库ORM/ORM分库分表/ORM分库分表-分表特性](核心组件/数据库ORM/ORM分库分表/ORM分库分表-分表特性.md) | GoFrame ORM分表特性提供了简单高效的表分片功能，支持自定义分表规则，轻松应对大数据量场景。 |
| [核心组件/数据库ORM/ORM常见问题](核心组件/数据库ORM/ORM常见问题.md) | 在使用GoFrame框架进行ORM操作时可能遇到的几种常见问题及其解决方案，包括数据库连接池过期导致的连接错误、update和insert操作不生效、无法找到数据库驱动、查询条件带有WHERE 0=1的问题以及MySQL表情存储乱码问题等。同时给出了一些配置建议以优化使用体验。 |
| [核心组件/数据库ORM/ORM接口开发/ORM接口开发-回调处理](核心组件/数据库ORM/ORM接口开发/ORM接口开发-回调处理.md) | 在使用GoFrame框架进行ORM接口开发时，通过自定义回调处理来对SQL语句进行日志记录或鉴权。通过实现并覆盖DoQuery、DoExec等接口方法，开发者可以注入自定义逻辑到默认实现中。示例中展示了如何自定义MySQL驱动以记录执行的SQL语句，并配置gdb以使用该驱动。 |
| [核心组件/数据库ORM/ORM接口开发/ORM接口开发-驱动开发](核心组件/数据库ORM/ORM接口开发/ORM接口开发-驱动开发.md) | 在GoFrame框架中进行ORM接口开发，特别是数据库驱动的开发和注册。通过实现gdb模块的接口，可以新增GoFrame默认不支持的第三方数据库驱动或对已有支持的驱动进行定制化修改，实现上层业务操作的一致性。本文档提供了详细的步骤和示例代码，帮助开发者快速上手。 |
| [核心组件/数据库ORM/ORM接口开发/ORM接口开发](核心组件/数据库ORM/ORM接口开发/ORM接口开发.md) | GoFrame框架中gdb模块的ORM接口开发，通过灵活的接口设计，开发者可以方便地自定义数据库操作实现。DB接口作为核心接口，提供了数据库连接创建、查询与执行等方法，而Driver接口则允许用户定义自己的驱动实现。详细的接口文档和方法说明将帮助您快速上手并进行二次开发。 |
| [核心组件/数据库ORM/ORM方法操作-原生](核心组件/数据库ORM/ORM方法操作-原生.md) | 使用GoFrame框架进行原生SQL的ORM方法操作。详细讲解了通过方法操作来执行复杂SQL的方法，包括数据库查询、数据插入、更新、删除和批量操作的具体用法，同时提供了具体的代码示例。 |
| [核心组件/数据库ORM/ORM时区处理](核心组件/数据库ORM/ORM时区处理.md) | 在GoFrame框架中处理ORM操作中的时区问题，特别是使用MySQL数据库时的时区转换。我们讲解了如何通过设置loc参数来控制time.Time对象在提交到数据库时的时区处理，并提供了相关代码示例和配置建议，帮助开发者在处理数据库操作时更好地管理时区。 |
| [核心组件/数据库ORM/ORM最佳实践/利用指针属性和do对象实现灵活的修改接口](核心组件/数据库ORM/ORM最佳实践/利用指针属性和do对象实现灵活的修改接口.md) | 利用GoFrame框架中的指针和do对象实现灵活的修改接口API。通过指针类型的属性参数和do对象，开发者可以轻松实现用户信息的修改操作，包括密码、昵称、状态等字段的更新，从而有效简化数据库更新的复杂度。 |
| [核心组件/数据库ORM/ORM最佳实践/复杂类型尽量使用json存储，便于Scan到对象时自动化转换，避免自定义解析](核心组件/数据库ORM/ORM最佳实践/复杂类型尽量使用json存储，便于Scan到对象时自动化转换，避免自定义解析.md) | 在数据库设计中使用JSON格式存储复杂类型数据的优势，主要通过GoFrame框架实现自动化转换，从而简化代码。以产品售卖规格为例，通过定义和使用Go结构体实现数据库的增删查改，避免自定义解析的复杂操作。此外，详细展示了如何在Go应用中进行数据写入和查询，确保高效率的数据处理过程。 |
| [核心组件/数据库ORM/ORM最佳实践/查询时避免返回对象初始化及sql.ErrNoRows判断](核心组件/数据库ORM/ORM最佳实践/查询时避免返回对象初始化及sql.ErrNoRows判断.md) | 在使用GoFrame框架进行SQL查询时，避免对象初始化以及sql.ErrNoRows错误判断问题。通过不初始化查询结果对象，使用指针为nil判断的方法，统一项目中对空查询结果的处理逻辑，从而降低代码对错误处理的复杂度。 |
| [核心组件/数据库ORM/ORM结果处理/ORM结果处理-为空判断](核心组件/数据库ORM/ORM结果处理/ORM结果处理-为空判断.md) | 使用GoFrame框架进行ORM结果处理中的为空判断。包括处理数据集合、多条数据记录、数据字段值，以及Struct对象和Struct数组的结果处理方法。通过使用IsEmpty和IsNil等方法，可以轻松地判断查询结果是否为空。 |
| [核心组件/数据库ORM/ORM结果处理/ORM结果处理-空数组结构返回](核心组件/数据库ORM/ORM结果处理/ORM结果处理-空数组结构返回.md) | 在GoFrame框架中处理ORM查询结果，当未查询到数据时，通过初始化空数组避免返回null值，从而增强与前端的友好交互。这种改进可以在数据需要展示于网页时，确保返回格式的预测性与稳定性。 |
| [核心组件/数据库ORM/ORM结果处理/ORM结果处理-结果类型](核心组件/数据库ORM/ORM结果处理/ORM结果处理-结果类型.md) | GoFrame框架中ORM结果处理的几种结果类型，包括Value、Record和Result的数据结构定义。通过示例详细讲解了如何将数据表记录转换为struct对象，以及Result/Record类型在特定字段检索场景下的应用。 |
| [核心组件/数据库ORM/ORM链式操作/ORM链式操作-Handler特性](核心组件/数据库ORM/ORM链式操作/ORM链式操作-Handler特性.md) | 在GoFrame框架中使用ORM链式操作实现Handler特性，通过示例展示了如何复用常见的查询逻辑和分页操作，从而简化代码，提高开发效率。Handler特性允许开发者定义通用逻辑并应用于数据库模型，实现更为简洁和可维护的代码结构。 |
| [核心组件/数据库ORM/ORM链式操作/ORM链式操作-Hook特性](核心组件/数据库ORM/ORM链式操作/ORM链式操作-Hook特性.md) | 在GoFrame框架中使用Hook特性，为Model对象绑定CRUD钩子，从而实现对数据库操作的增强和优化。文中详细介绍了相关定义、Hook注册方法以及使用示例，通过挂钩函数对查询操作进行了演示。 |
| [核心组件/数据库ORM/ORM链式操作/ORM链式操作-主从切换](核心组件/数据库ORM/ORM链式操作/ORM链式操作-主从切换.md) | 在GoFrame框架中使用gdb实现应用层的主从配置和读写分离。通过简单的配置，gdb可以自动进行主从切换，大幅度提高数据库的运行效率和可用性。本文还提供了一些使用Master和Slave方法自定义节点操作的示例，帮助开发者更好地应对主从同步延迟带来的问题，确保数据的即时性和准确性。 |
| [核心组件/数据库ORM/ORM链式操作/ORM链式操作-事务处理](核心组件/数据库ORM/ORM链式操作/ORM链式操作-事务处理.md) | 在GoFrame框架中使用事务处理对于ORM链式操作的方法。通过Transaction和TX接口，可以实现对数据库的事务性操作，确保数据的一致性和可靠性。详细讲解了使用TX接口创建Model对象的方法及其事务处理中Commit和Rollback的机制。 |
| [核心组件/数据库ORM/ORM链式操作/ORM链式操作-写入保存](核心组件/数据库ORM/ORM链式操作/ORM链式操作-写入保存.md) | GoFrame框架中ORM链式操作的写入保存方法，包括Insert、Replace、Save等方法的使用。这些方法支持自动单条或批量的数据写入，适用于多种数据库环境，并提供详细示例帮助理解如何结合使用Data方法进行数据操作。 |
| [核心组件/数据库ORM/ORM链式操作/ORM链式操作-字段获取](核心组件/数据库ORM/ORM链式操作/ORM链式操作-字段获取.md) | 使用GoFrame框架中的ORM链式操作来获取数据库表字段的技巧，包括使用GetFieldsStr和GetFieldsExStr方法获取指定表的字段及排除字段的用法，支持字段前缀自定义，提升开发效率和代码可读性。 |
| [核心组件/数据库ORM/ORM链式操作/ORM链式操作-字段过滤](核心组件/数据库ORM/ORM链式操作/ORM链式操作-字段过滤.md) | 在使用GoFrame框架进行数据库操作时如何进行字段过滤。详细描述了Fields和FieldsEx方法的用途与示例，并深入探讨了OmitEmpty及OmitNil特性如何帮助在数据库写入过程中过滤空值数据。此外，还探讨了在数据查询过程中空值对条件参数的影响。 |
| [核心组件/数据库ORM/ORM链式操作/ORM链式操作-对象输入](核心组件/数据库ORM/ORM链式操作/ORM链式操作-对象输入.md) | 该文档介绍了如何在GoFrame框架中使用链式操作的对象输入功能，支持不同类型的数据参数，使得gdb具有极高的灵活性。详细说明了使用struct对象进行参数输入时的映射关系以及标签的优先级，以实现数据库ORM的有效转换。 |
| [核心组件/数据库ORM/ORM链式操作/ORM链式操作-悲观锁 & 乐观锁](核心组件/数据库ORM/ORM链式操作/ORM链式操作-悲观锁%20&%20乐观锁.md) | 在GoFrame框架中如何通过链式操作实现悲观锁和乐观锁。悲观锁用于在每次数据访问时上锁以避免冲突，常用于高并发场景；而乐观锁则通过版本号机制检查数据更新，适用于多读少写的场合。详细分析了适用场景、实现方法及锁机制的优缺点，帮助开发者优化数据库性能。 |
| [核心组件/数据库ORM/ORM链式操作/ORM链式操作-数据库切换](核心组件/数据库ORM/ORM链式操作/ORM链式操作-数据库切换.md) | 在使用GoFrame框架进行ORM链式操作时切换数据库。我们通过不同的配置分组、运行时更改单例对象的数据库配置、使用Schema方法进行链式操作，以及通过表名中带数据库名称来实现多种数据库切换方案。这些方法为开发者提供了灵活的数据库操作方式。 |
| [核心组件/数据库ORM/ORM链式操作/ORM链式操作-数据查询/ORM查询-AllAndCount](核心组件/数据库ORM/ORM链式操作/ORM链式操作-数据查询/ORM查询-AllAndCount.md) | 该文档介绍了GoFrame框架中从v2.5.0版本开始提供的AllAndCount方法，该方法用于在分页查询场景中同时检索数据记录列表及总数量，简化查询逻辑。通过在查询时忽略Limit/Page操作，AllAndCount方法能够提供一种便捷的方式对数据进行检索和计数。 |
| [核心组件/数据库ORM/ORM链式操作/ORM链式操作-数据查询/ORM查询-Exist](核心组件/数据库ORM/ORM链式操作/ORM链式操作-数据查询/ORM查询-Exist.md) | 使用GoFrame框架的Exist方法能够有效判断满足特定条件的数据是否存在而无需获取完整数据结果。配合MySQL表结构，通过SELECT 1方式提升查询效率，降低不必要的数据传输。本文包含方法定义、MySQL表结构示例及实际使用情境，帮助开发者更好地优化模型查询环节。 |
| [核心组件/数据库ORM/ORM链式操作/ORM链式操作-数据查询/ORM查询-Join查询](核心组件/数据库ORM/ORM链式操作/ORM链式操作-数据查询/ORM查询-Join查询.md) | 在GoFrame框架中如何使用ORM进行LeftJoin、RightJoin和InnerJoin查询，包括使用不同的关联查询方法及其应用场景。文中强调在大数据量和高并发环境中谨慎使用Join操作，推荐使用代码实现数据聚合。此外，还提供了通过自定义数据表别名和字段操作符进行join查询的示例，并结合dao展示具体的使用方法。 |
| [核心组件/数据库ORM/ORM链式操作/ORM链式操作-数据查询/ORM查询-ScanAndCount](核心组件/数据库ORM/ORM链式操作/ORM链式操作-数据查询/ORM查询-ScanAndCount.md) | 在使用GoFrame框架进行ORM查询时简化分页查询场景。通过ScanAndCount方法，可以在一次操作中完成数据查询和总数量查询，有效减少代码冗余，提高开发效率。适用于需要同时获取数据和其总数量的情况，如分页查询。 |
| [核心组件/数据库ORM/ORM链式操作/ORM链式操作-数据查询/ORM查询-Scan映射](核心组件/数据库ORM/ORM链式操作/ORM链式操作-数据查询/ORM查询-Scan映射.md) | 在GoFrame框架中使用Scan方法进行ORM查询的技巧，主要包括如何将查询结果转换为struct对象和struct数组。通过示例代码说明了Scan方法的用法，如单条记录转换为struct对象、多条记录转换为struct数组等，帮助用户有效地处理数据库查询结果。 |
| [核心组件/数据库ORM/ORM链式操作/ORM链式操作-数据查询/ORM查询-UnionUnionAll](核心组件/数据库ORM/ORM链式操作/ORM链式操作-数据查询/ORM查询-UnionUnionAll.md) | 使用GoFrame框架中的ORM组件进行Union和UnionAll查询操作。使用Union操作符可以删除重复数据，而UnionAll操作符则保留所有数据。通过链式操作或者方法操作可以轻松实现这两种查询方式。文章还介绍了如何在MySQL中进行组合查询，并提供了详细的代码示例。 |
| [核心组件/数据库ORM/ORM链式操作/ORM链式操作-数据查询/ORM查询-Where条件](核心组件/数据库ORM/ORM链式操作/ORM链式操作-数据查询/ORM查询-Where条件.md) | GoFrame框架中ORM组件提供的多种条件查询方法，详细阐述了Where、WhereOr、Wheref等方法的使用方式，及它们如何进行条件组合作用。通过示例展示了如何利用这些方法进行复杂数据库查询，并探讨了使用主键查询的优势。 |
| [核心组件/数据库ORM/ORM链式操作/ORM链式操作-数据查询/ORM查询-分组排序过滤](核心组件/数据库ORM/ORM链式操作/ORM链式操作-数据查询/ORM查询-分组排序过滤.md) | 使用GoFrame框架的ORM进行查询操作，包括分组、排序和条件过滤。通过Group方法实现数据分组，通过Order方法进行排序，以及通过Having方法对查询结果进行条件过滤，提供了详细的代码示例和方法说明，帮助用户更好地掌握数据库操作技能。 |
| [核心组件/数据库ORM/ORM链式操作/ORM链式操作-数据查询/ORM查询-子查询特性](核心组件/数据库ORM/ORM链式操作/ORM链式操作-数据查询/ORM查询-子查询特性.md) | GoFrame框架中ORM组件支持的三种子查询特性：Where子查询、Having子查询及From子查询。通过示例讲解如何在Where、Having条件以及使用Model方法创建模型时利用子查询提升数据库查询效率。 |
| [核心组件/数据库ORM/ORM链式操作/ORM链式操作-数据查询/ORM查询-常用操作示例](核心组件/数据库ORM/ORM链式操作/ORM链式操作-数据查询/ORM查询-常用操作示例.md) | 使用GoFrame框架进行ORM查询的常用操作示例，包括IN、LIKE、MIN/MAX/AVG/SUM等操作，同时介绍了WhereIn、WhereNotIn、WhereBetween等链式查询方法的使用，通过案例帮助理解不同的查询策略和参数过滤方式。 |
| [核心组件/数据库ORM/ORM链式操作/ORM链式操作-数据查询/ORM查询-常用查询方法](核心组件/数据库ORM/ORM链式操作/ORM链式操作-数据查询/ORM查询-常用查询方法.md) | 使用GoFrame框架中的五个常用数据查询方法：All、One、Array、Value和Count。这些方法允许您轻松地从数据库中获取多条或单条记录，并支持条件参数的直接输入。通过示例代码，您将学习如何在GoFrame中有效地进行数据库操作。 |
| [核心组件/数据库ORM/ORM链式操作/ORM链式操作-时间维护/ORM链式操作-时间维护](核心组件/数据库ORM/ORM链式操作/ORM链式操作-时间维护/ORM链式操作-时间维护.md) | 使用GoFrame框架中的gdb模块进行ORM链式操作时的时间维护特性。通过自动填充创建、更新和删除时间，有效提高了开发效率。文章详细讲解了如何启用这些特性以及在执行数据库操作如插入、更新和删除时的实现方式。此外，还提供了针对软删除和忽略时间维护等场景的解决方案。 |
| [核心组件/数据库ORM/ORM链式操作/ORM链式操作-时间维护/时间维护-SoftTimeOption](核心组件/数据库ORM/ORM链式操作/ORM链式操作-时间维护/时间维护-SoftTimeOption.md) | 介绍如何在GoFrame框架中使用SoftTimeOption控制时间写入粒度，实现秒级到毫秒级的时间戳转换，并提供相关MySQL表结构和示例代码，帮助开发者灵活配置时间字段，支持多种时间粒度选项以满足不同项目需求，并通过ORM方法插入数据 |
| [核心组件/数据库ORM/ORM链式操作/ORM链式操作-时间维护/时间维护-基本使用](核心组件/数据库ORM/ORM链式操作/ORM链式操作-时间维护/时间维护-基本使用.md) | 本文介绍了使用GoFrame框架管理数据库时间字段的基本方法，包括created_at、updated_at和deleted_at字段的写入和更新机制，以及软删除特性对查询和更新操作的影响，同时展示了联表查询和忽略时间特性Unscoped的方法。通过这些示例，可以有效管理数据的软删除和时间戳，确保数据库记录的准确性。 |
| [核心组件/数据库ORM/ORM链式操作/ORM链式操作-时间维护/时间维护-布尔字段](核心组件/数据库ORM/ORM链式操作/ORM链式操作-时间维护/时间维护-布尔字段.md) | 介绍GoFrame框架中时间字段为布尔字段的支持，通过示例展示如何使用布尔类型的deleted_at字段进行数据软删除。提供MySQL表结构定义以及在GoFrame中使用ORM组件进行创建记录和软删除操作的示例。 |
| [核心组件/数据库ORM/ORM链式操作/ORM链式操作-时间维护/时间维护-整型字段](核心组件/数据库ORM/ORM链式操作/ORM链式操作-时间维护/时间维护-整型字段.md) | 如果时间字段如created_at、updated_at、deleted_at为整型字段，GoFrame框架的ORM组件会自动识别并写入秒级时间戳。插入操作时created_at自动更新，但更新和删除不改变created_at。使用Replace方法会更新所有时间字段。在软删除情况下，所有查询自动包含deleted_at=0条件。 |
| [核心组件/数据库ORM/ORM链式操作/ORM链式操作-更新删除](核心组件/数据库ORM/ORM链式操作/ORM链式操作-更新删除.md) | 在GoFrame框架中进行ORM链式操作的数据更新和删除。详细阐述了使用Update和Delete方法时需要结合Where条件的重要性。此外，还探讨了通过Counter参数实现字段数值增减的特性，以及使用Increment和Decrement方法对字段进行自增自减的操作。同时，还讲解了嵌入原生SQL语句的技巧和实现软删除的方式，以确保数据处理的灵活性和安全性。 |
| [核心组件/数据库ORM/ORM链式操作/ORM链式操作-查询缓存](核心组件/数据库ORM/ORM链式操作/ORM链式操作-查询缓存.md) | 使用GoFrame框架中的ORM进行查询缓存操作。它支持对查询结果进行缓存优化，适用于多读少写场景。文中详细介绍了缓存管理和适配，特别是如何通过Redis实现分布式缓存。还提供了示例代码展示数据表结构及其缓存效果，演示了查询缓存的实现与缓存清理功能。 |
| [核心组件/数据库ORM/ORM链式操作/ORM链式操作-模型关联/模型关联-动态关联-ScanList](核心组件/数据库ORM/ORM链式操作/ORM链式操作-模型关联/模型关联-动态关联-ScanList.md) | GoFrame框架中如何处理模型关联的设计，通过简化标签内容和关联属性，降低心智负担。详细讲解了如何使用ScanList方法进行数据结构的动态关联，展示了用户、用户详情和用户学分之间的1:1和1:N关系，并提供了Go语言的示例代码进行数据查询和写入操作，包括事务处理和数据绑定的实现方式。 |
| [核心组件/数据库ORM/ORM链式操作/ORM链式操作-模型关联/模型关联-静态关联-With特性](核心组件/数据库ORM/ORM链式操作/ORM链式操作-模型关联/模型关联-静态关联-With特性.md) | GoFrame框架中的With特性，通过示例展示了如何使用With特性实现模型关联、数据查询，介绍了数据结构定义、事务操作、数据写入与查询等方面的内容，帮助开发者更好地理解和使用GoFrame框架进行高效开发。 |
| [核心组件/数据库ORM/ORM链式操作/ORM链式操作-模型创建](核心组件/数据库ORM/ORM链式操作/ORM链式操作-模型创建.md) | 使用GoFrame框架中的ORM工具进行链式操作，重点讲解了模型创建、Model对象的使用以及实现链式安全的几种方式。通过使用Model、Raw方法，在默认和切换的数据库配置上创建模型对象，并探讨链式安全的实现，包括默认非链式安全、Clone方法克隆、Safe方法设置链式安全等操作技巧。 |
| [核心组件/数据库ORM/ORM链式操作/ORM链式操作](核心组件/数据库ORM/ORM链式操作/ORM链式操作.md) | GoFrame框架中gdb的链式操作方式，这是一种灵活且官方推荐的数据库操作方式。通过db.Model或tx.Model方法，可以基于数据表返回链式操作对象*Model，支持多种数据库操作，如Replace、Save、InsertGetId等，并详细说明了每种数据库的支持情况。 |
| [核心组件/数据库ORM/ORM高级特性/ORM高级特性-RawSQL](核心组件/数据库ORM/ORM高级特性/ORM高级特性-RawSQL.md) | 在GoFrame框架中使用ORM的RawSQL特性，通过使用gdb.Raw类型，可以在生成的SQL语句中嵌入自定义的SQL片段，实现更灵活的数据库操作。详细讲解了在Insert、Update和Select操作中使用RawSQL的方法及其示例，确保SQL语句的安全性和灵活性。 |
| [核心组件/数据库ORM/ORM高级特性/ORM高级特性-SQL捕获](核心组件/数据库ORM/ORM高级特性/ORM高级特性-SQL捕获.md) | GoFrame框架中ORM的高级特性，主要关注SQL捕获和转换功能。通过CatchSQL和ToSQL方法，能够在执行SQL语句前捕获或预估SQL操作，并配合上下文对象实现操作记录与调试。这些功能有助于开发者高效调试和测试数据库操作。 |
| [核心组件/数据库ORM/ORM高级特性/ORM高级特性-内嵌结构支持](核心组件/数据库ORM/ORM高级特性/ORM高级特性-内嵌结构支持.md) | GoFrame框架中ORM组件对内嵌结构的高级特性支持，包括结构体的参数传递和结果处理。通过示例讲解了如何在实践中应用这些功能，支持多层级的struct嵌套，提高开发效率。 |
| [核心组件/数据库ORM/ORM高级特性/ORM高级特性-字段映射](核心组件/数据库ORM/ORM高级特性/ORM高级特性-字段映射.md) | 通过GoFrame框架的ORM高级特性，可实现自动化字段映射和识别。使用Map或Struct类型参数时，可自动匹配数据表字段名称，大幅减少开发者在数据字段与业务属性间人工匹配的工作量。此外，通过设计接口并在内存中缓存字段信息，提升数据操作效率。本文还展示了如何通过实际示例实现用户和医生信息的高效查询。 |
| [核心组件/数据库ORM/ORM高级特性/ORM高级特性-日志输出](核心组件/数据库ORM/ORM高级特性/ORM高级特性-日志输出.md) | GoFrame框架中ORM组件的日志输出功能，重点讲解了如何通过SetLogger和GetLogger方法设置日志，以及如何在配置文件中启用日志输出功能。文中示例展示了SQL语句的调试过程，包括日志级别、执行耗时、SQL语句等详细信息，帮助用户更好地理解和调试应用程序中的数据库操作。 |
| [核心组件/数据库ORM/ORM高级特性/ORM高级特性-空跑特性](核心组件/数据库ORM/ORM高级特性/ORM高级特性-空跑特性.md) | GoFrame框架中的ORM空跑特性，该特性通过DryRun配置项启用，可以在不开启实际写入、更新、删除操作的情况下调试SQL语句。本文提供了详细的配置示例以及如何利用命令行参数和环境变量全局修改该特性的使用方法，帮助开发者在开发过程中验证SQL执行的正确性。 |
| [核心组件/数据库ORM/ORM高级特性/ORM高级特性-类型识别](核心组件/数据库ORM/ORM高级特性/ORM高级特性-类型识别.md) | 在使用GoFrame框架进行ORM查询时的高级特性——类型识别。通过GoFrame框架，查询结果中的字段值会自动识别并映射为对应的Go语言变量类型，例如int类型或string类型。这一功能对于将查询结果编码并通过JSON等方式直接返回给客户端非常实用，并有助于提升开发效率。 |
| [核心组件/数据库ORM/ORM高级特性/ORM高级特性-类型转换](核心组件/数据库ORM/ORM高级特性/ORM高级特性-类型转换.md) | 使用GoFrame框架中的gdb模块进行ORM高级特性实现，重点是在数据库记录结果的数据类型转换功能。gdb模块灵活支持多种数据类型的转换，并通过示例展示了如何在Go代码中实现对数据库表中商品信息的获取和处理。 |
| [核心组件/数据库ORM/ORM高级特性/ORM高级特性-调试模式](核心组件/数据库ORM/ORM高级特性/ORM高级特性-调试模式.md) | 在GoFrame框架中使用ORM高级特性的调试模式。在开发阶段，通过Debug配置文件配置项或SetDebug配置方式，可以开启调试模式，使数据库SQL操作语句以DEBUG级别输出到终端或日志文件中，便于开发者进行问题排查和性能优化。 |
| [核心组件/数据库ORM/ORM高级特性/ORM高级特性-连接池状态](核心组件/数据库ORM/ORM高级特性/ORM高级特性-连接池状态.md) | 使用GoFrame框架的DB.Stats方法获取ORM对象的连接池状态。通过示例代码，开发者可以了解如何配置数据库连接，并通过GoFrame获取连接池的详细状态信息。同时，介绍了连接池状态输出的具体字段及其意义。 |
| [核心组件/数据库ORM/数据库ORM](核心组件/数据库ORM/数据库ORM.md) | 在GoFrame框架中使用gdb模块实现数据库的ORM功能，强调了连接池设计、预处理SQL参数以及自动识别Map/Struct的特点。GoFrame ORM组件支持事务嵌套、接口化设计，并兼容主流数据库驱动，具备强大的配置管理和调试特性。 |
| [核心组件/数据校验/数据校验-参数类型/数据校验-Map校验/Map校验-基本使用](核心组件/数据校验/数据校验-参数类型/数据校验-Map校验/Map校验-基本使用.md) | 详细讲解`GoFrame`框架`gvalid`组件中对Map类型数据进行校验的基本使用方法。包括两个实用示例：使用默认错误提示进行校验，以及使用自定义错误提示进行校验。展示如何定义`rules`和`messages`参数，对`passport`、`password`等字段应用`required`、`length`、`same`等校验规则，演示错误信息的返回格式和处理方式。 |
| [核心组件/数据校验/数据校验-参数类型/数据校验-Map校验/Map校验-校验顺序性](核心组件/数据校验/数据校验-参数类型/数据校验-Map校验/Map校验-校验顺序性.md) | 详细讲解`GoFrame`框架`gvalid`组件中实现Map校验顺序性的方法。由于`Golang`中`map`类型无序性导致校验结果随机，通过将`rules`参数类型修改为`[]string`切片类型，并按照`字段@规则#错误提示`的格式编写，可以确保返回的错误信息顺序与设定规则一致。通过`FirstItem`和`FirstError`方法可以获取符合顺序的第一个校验错误。 |
| [核心组件/数据校验/数据校验-参数类型/数据校验-Struct校验/Struct校验-Assoc关联](核心组件/数据校验/数据校验-参数类型/数据校验-Struct校验/Struct校验-Assoc关联.md) | 详细讲解`GoFrame`框架`gvalid`组件中`Assoc`方法的使用（`v2.0+`），用于解决结构体属性默认值导致的校验困惑问题。`Assoc`方法使结构体校验严格按照给定的参数进行，而不是按照结构体属性值，避免默认值影响校验结果。特别适用于接收客户端请求参数的校验场景，校验规则仍从结构体`gvalid tag`中读取。 |
| [核心组件/数据校验/数据校验-参数类型/数据校验-Struct校验/Struct校验-基本使用](核心组件/数据校验/数据校验-参数类型/数据校验-Struct校验/Struct校验-基本使用.md) | 全面讲解`GoFrame`框架`gvalid`组件中Struct类型数据的校验方法。详细介绍校验tag规则格式：`[属性别名@]校验规则[#错误提示]`，包括属性别名、校验规则（使用`|`组合多个规则）和自定义错误提示的使用。通过完整代码示例展示tag使用、使用`map`指定校验规则、以及结构体递归校验（嵌套校验）的实现方式。 |
| [核心组件/数据校验/数据校验-参数类型/数据校验-单数据校验](核心组件/数据校验/数据校验-参数类型/数据校验-单数据校验.md) | 详细讲解`GoFrame`框架`gvalid`组件的单数据校验功能，通过`Data`方法指定被校验数据，`Rules`方法指定校验规则。包含三个实用示例：校验数据长度（`length`规则）、校验数据类型及大小（`integer`、`between`规则并自定义错误提示）、使用正则表达式校验数据格式（`regex`规则）。支持通过字符串或`map`方式自定义错误提示信息。 |
| [核心组件/数据校验/数据校验-可选校验](核心组件/数据校验/数据校验-可选校验.md) | 详细讲解`GoFrame`框架数据校验组件中的可选校验规则使用方法。当校验规则中不包含`required*`规则时，对于`nil`或空字符串将忽略校验。通过空字符串、空指针属性、空整型属性和`map`传参四个实际代码示例，帮助开发者理解可选校验的处理逻辑及注意事项，需要特别注意`0`和`false`值仍会被校验。 |
| [核心组件/数据校验/数据校验-常见问题](核心组件/数据校验/数据校验-常见问题.md) | 解决使用`GoFrame`框架进行数据校验时，`Struct`默认值对`required`规则的影响及其解决方案。提供三种解决方法：使用指针类型绕过默认值影响、使用组合校验规则弥补默认值影响、以及使用`Assoc`联合校验方法设置联合校验参数，确保校验准确性，特别适用于`Server`结构化`API`输入输出场景。 |
| [核心组件/数据校验/数据校验-方法介绍](核心组件/数据校验/数据校验-方法介绍.md) | 全面介绍`GoFrame`框架数据校验组件的常用方法，详细描述`New`、`Run`、`Clone`、`I18n`、`Bail`、`Ci`等常用校验方法的使用。通过具体代码示例讲解如何使用这些方法进行有效的数据校验，并提供了定制化校验规则和错误提示的方法，帮助开发者更好地完成应用程序的数据校验工作。 |
| [核心组件/数据校验/数据校验-校验对象](核心组件/数据校验/数据校验-校验对象.md) | 全面介绍`GoFrame`框架数据校验组件的`Validator`对象使用，包括校验对象的配置管理和便捷的链式操作。详细描述`New`、`Assoc`、`Bail`、`Ci`、`Run`等方法的使用，并通过单数据校验、`Struct`校验和`Map`校验的实际示例，帮助开发者快速掌握数据校验的使用技巧，支持自定义规则、错误提示和`I18N`国际化。 |
| [核心组件/数据校验/数据校验-校验结果](核心组件/数据校验/数据校验-校验结果.md) | 详细介绍`GoFrame`框架数据校验的结果处理，描述`gvalid.Error`接口的实现及各种方法的使用。包括`Code`、`Error`、`Current`、`Items`、`Map`、`Maps`、`String`等方法的详细说明，通过不同方法获取校验错误信息。讨论顺序性和非顺序性校验对错误信息获取的影响，并演示如何通过`gerror.Current`获取第一条错误信息。 |
| [核心组件/数据校验/数据校验-校验规则](核心组件/数据校验/数据校验-校验规则.md) | 全面介绍`GoFrame`框架数据校验组件的内置校验规则及其应用。`GoFrame`框架内置数十项常用校验规则，包括修饰规则（`ci`、`bail`、`foreach`）和功能规则（`required*`系列、日期格式、数值范围、枚举值验证等），支持开发者在处理数据时进行参数校验和结构体校验。文档详细讲解了不同情况下各种校验规则的使用方法，为开发者提供灵活的数据校验机制。 |
| [核心组件/数据校验/数据校验-自定义规则/自定义规则-完整数据校验](核心组件/数据校验/数据校验-自定义规则/自定义规则-完整数据校验.md) | 详细讲解`GoFrame`框架`gvalid`组件如何使用自定义规则对结构体进行完整校验。通过在结构体中嵌入`g.Meta`元数据并绑定自定义校验规则名称，实现对整个结构体对象的校验。以`UserCreateReq`用户创建请求为例，展示如何注册和应用自定义校验方法，如校验用户名在数据库中的唯一性，确保数据的有效性和一致性。 |
| [核心组件/数据校验/数据校验-自定义规则/自定义规则-规则注册](核心组件/数据校验/数据校验-自定义规则/自定义规则-规则注册.md) | 全面讲解`GoFrame`框架`gvalid`组件的自定义校验规则注册机制，包括规则函数定义、输入参数数据结构`RuleFuncInput`和`RuleFunc`类型说明。详细介绍全局规则和局部规则两种注册方式，内置`i18n`支持。提供两个实用示例：订单ID存在性校验和用户名唯一性校验，帮助开发者实现复杂的业务校验逻辑。 |
| [核心组件/数据校验/数据校验-自定义错误](核心组件/数据校验/数据校验-自定义错误.md) | 介绍GoFrame框架数据校验组件如何通过i18n国际化特性自定义错误提示信息。详细讲解如何配置不同语言的错误提示文件，包括默认英文提示和中文提示的配置方法，以及如何在代码中通过上下文切换语言环境实现多语言错误提示。提供了完整的目录结构、配置文件示例和代码实现，帮助开发者快速实现国际化的数据校验错误提示功能。 |
| [核心组件/数据校验/数据校验-递归校验](核心组件/数据校验/数据校验-递归校验.md) | 详细介绍GoFrame框架数据校验组件的递归校验（嵌套校验）特性。支持对struct、slice、map等复杂数据类型进行自动递归校验，通过多个实际示例演示如何对嵌套结构体、数组和映射类型数据进行有效验证。特别说明了空对象在递归校验中的处理规则，包括带有默认值的空结构体将被视为已传递对象并执行校验，而空指针对象则不会触发递归校验。 |
| [核心组件/数据校验/数据校验](核心组件/数据校验/数据校验.md) | 介绍 GoFrame 框架的 gvalid 数据校验组件，提供数十种内置校验规则、多数据多规则批量校验、自定义错误信息、国际化支持、结构体标签绑定等功能。 |
| [核心组件/日志组件/日志组件-Context](核心组件/日志组件/日志组件-Context.md) | 详细讲解`GoFrame`框架`glog`日志组件如何通过`Context`上下文变量实现日志打印（`v2+`版本`ctx`为必选参数）。重点介绍自定义`CtxKeys`配置，通过配置文件指定需要从`context.Context`中读取并输出的键名（如`RequestId`、`UserId`）。说明不能使用自定义类型作为Key的注意事项，内置支持`OpenTelemetry`标准的链路跟踪特性，以及Context会传递给自定义`Handler`。 |
| [核心组件/日志组件/日志组件-Flags特性](核心组件/日志组件/日志组件-Flags特性.md) | 详细介绍`GoFrame`框架`glog`日志组件的`Flags`特性，通过常量组合控制日志输出的额外特性。包括`F_ASYNC`异步输出、`F_FILE_LONG`和`F_FILE_SHORT`调用行号信息打印（完整路径或仅文件名）、`F_TIME_DATE`日期、`F_TIME_TIME`时间、`F_TIME_MILLI`毫秒时间、`F_TIME_STD`默认格式（日期+时间+毫秒）。提供完整示例展示如何使用`SetFlags`方法组合配置日志输出格式，帮助开发者实现灵活的日志记录和调试。 |
| [核心组件/日志组件/日志组件-Handler](核心组件/日志组件/日志组件-Handler.md) | 文章介绍了从v2.0版本开始，GoFrame框架的glog组件新增的可自定义日志处理的Handler特性。开发者可以通过Handler实现日志输出的自定义内容，例如将日志转为Json格式输出或者输出至第三方服务如Graylog。详细示例展示了如何在GoFrame框架中使用Handler进行日志处理。 |
| [核心组件/日志组件/日志组件-JSON格式](核心组件/日志组件/日志组件-JSON格式.md) | 使用GoFrame框架中的glog组件以JSON格式输出日志，适合日志分析工具解析。您将学习如何通过map或struct参数实现JSON日志格式输出，以及结合gjson.MustEncode方法实现更复杂的JSON内容输出。 |
| [核心组件/日志组件/日志组件-Rotate特性](核心组件/日志组件/日志组件-Rotate特性.md) | GoFrame框架中glog组件的日志滚动切分特性，包括通过设置日志文件名称按照日期输出、通过设置RotateSize和RotateExpire进行日志滚动切分、支持日志文件压缩与备份、配置示例，以及注意事项等内容。提供详细的配置项说明和示例代码，帮助开发者更好地管理日志文件。 |
| [核心组件/日志组件/日志组件-Writer接口](核心组件/日志组件/日志组件-Writer接口.md) | 在GoFrame框架中使用glog模块的Writer接口来自定义日志输出。通过实现自定义Writer对象，可以灵活地将日志输出到不同的目标如文件、标准输出和Graylog等。此外，还提供了示例代码说明如何实现日志HOOK功能，以便及时将严重错误通知到监控服务。 |
| [核心组件/日志组件/日志组件-堆栈打印](核心组件/日志组件/日志组件-堆栈打印.md) | 介绍`GoFrame`框架日志组件的堆栈打印功能，该功能可自动打印出错误日志调用方法的完整堆栈信息。支持通过`Notice`、`Warning`、`Error`等错误级别日志方法自动触发堆栈输出，也可以通过`GetStack`和`PrintStack`方法主动获取或打印堆栈信息。特别支持`gerror`错误类型的堆栈信息打印，详细展示错误发生的完整调用链路，极大方便错误调试和问题定位。 |
| [核心组件/日志组件/日志组件-常见问题](核心组件/日志组件/日志组件-常见问题.md) | 解答`GoFrame`框架日志组件使用过程中的常见问题。重点讲解如何正确打印`error`变量的堆栈信息，区分使用`Error`方法和`Printf`方法的不同效果。使用`Error`方法仅打印`error`的字符串描述和日志调用处的堆栈，而使用`Printf(ctx, "%+v", err)`则可以打印`error`对象自身的完整堆栈信息，帮助开发者更准确地进行错误调试和问题定位。 |
| [核心组件/日志组件/日志组件-异步输出](核心组件/日志组件/日志组件-异步输出.md) | 介绍`GoFrame`框架日志组件的异步输出功能，用于提高日志打印效率。详细讲解两种设置异步输出的方式：通过`SetAsync`方法对日志对象设置全局异步输出，或通过`Async`链式方法对单个日志调用设置异步输出。异步输出使用`goroutine`池管理，可充分降低资源占用，但需注意避免混用同步和异步输出到同一文件以防日志乱序。 |
| [核心组件/日志组件/日志组件-文件目录](核心组件/日志组件/日志组件-文件目录.md) | 介绍`GoFrame`框架日志组件中如何设置日志文件的名称和输出目录。通过`SetFile`方法可以自定义日志文件名称格式，支持`gtime`时间格式变量，方便按日期分割日志文件。通过`SetPath`方法可以指定日志输出目录，利用`gfpool`文件指针池实现高效的文件写入操作。默认日志文件名称格式为`YYYY-MM-DD.log`，目录不存在时会自动递归创建。 |
| [核心组件/日志组件/日志组件-日志级别](核心组件/日志组件/日志组件-日志级别.md) | 详细介绍`GoFrame`框架日志组件的日志级别管理功能。讲解三种设置日志级别的方法：`SetLevel`通过常量值设置，支持位操作组合；`SetLevelStr`通过字符串设置，支持多种级别名称包括`ALL`、`DEV`、`PROD`等；`SetLevelPrint`控制是否打印级别标识。日志级别按照`DEBU < INFO < NOTI < WARN < ERRO < CRIT`排序，过滤等级较低的日志输出。 |
| [核心组件/日志组件/日志组件-调试信息](核心组件/日志组件/日志组件-调试信息.md) | 介绍`GoFrame`框架日志组件中`Debug`和`Debugf`方法的使用，适用于开发和测试环境中记录调试信息。详细讲解如何通过`SetDebug`方法、配置文件、命令行参数或环境变量来控制调试信息的开启和关闭。通过代码示例演示如何动态切换调试日志的输出状态，提供了灵活的调试控制机制。 |
| [核心组件/日志组件/日志组件-配置管理](核心组件/日志组件/日志组件-配置管理.md) | 详细介绍`GoFrame`框架日志组件的配置管理功能，包括通过配置文件和配置方法两种方式管理`Logger`对象。配置文件支持多种格式和配置中心，可设置日志路径、文件格式、输出级别、终端显示、滚动切分等多项配置。支持多个`Logger`单例配置，日志级别支持字符串和常量两种方式设置。模块化设计使得各组件日志配置独立管理。 |
| [核心组件/日志组件/日志组件-链式操作](核心组件/日志组件/日志组件-链式操作.md) | 详细介绍`GoFrame`框架日志组件的链式操作功能，支持通过一系列链式方法灵活设置日志输出参数。包括设置输出目录、文件分类、日志级别、开启堆栈打印、终端输出、异步输出等功能。通过多个实际代码示例展示了如何使用`Path`、`Cat`、`Line`、`Skip`等链式方法组合实现灵活的日志管理，包括文件回溯设置、调用行号打印等高级功能。 |
| [核心组件/日志组件/日志组件-颜色打印](核心组件/日志组件/日志组件-颜色打印.md) | 详细介绍`GoFrame`框架日志组件的颜色打印功能，通过为不同日志级别添加颜色突出显示，提高日志的可读性。默认情况下终端自带颜色输出，文件日志不带颜色。讲解如何通过配置文件中的`stdoutColorDisabled`和`writerColorEnable`选项，或者通过代码中的`SetWriterColorEnable`方法来启用文件日志颜色输出。提供了不同日志级别（`Debug`、`Info`、`Notice`、`Warning`、`Error`等）的默认颜色对应表。 |
| [核心组件/日志组件/日志组件](核心组件/日志组件/日志组件.md) | 介绍 GoFrame 框架的 glog 高性能日志管理模块，支持文件输出、日志级别、链式操作、异步输出、堆栈打印、链路跟踪等特性，提供单例模式与自定义 Handler 支持。 |
| [核心组件/模板引擎/模板引擎-XSS处理](核心组件/模板引擎/模板引擎-XSS处理.md) | 在使用GoFrame框架的模板引擎时进行XSS处理。默认情况下，输出变量未进行HTML转码，可能导致XSS漏洞，但GoFrame框架提供了灵活的配置参数，通过AutoEncode或SetAutoEncode方法控制转义效果，以增强输出安全性。 |
| [核心组件/模板引擎/模板引擎-其他使用](核心组件/模板引擎/模板引擎-其他使用.md) | 介绍`GoFrame`框架模板引擎的高级使用场景。包括模板引擎对`i18n`国际化特性的支持，可通过上下文注入不同语言实现多语言页面渲染。讲解`WebServer`的`HTTP`对象视图中的`WriteTpl`和`WriteTplContent`方法用于模板文件输出和内容解析。介绍控制器视图管理的并发安全设计和数据隔离特性，提供了视图对象的赋值、解析和显示等方法的使用示例，但由于性能原因不再推荐使用控制器注册方式。 |
| [核心组件/模板引擎/模板引擎-模板函数/模板函数-内置函数](核心组件/模板引擎/模板引擎-模板函数/模板函数-内置函数.md) | 全面介绍`GoFrame`框架`gview`模板引擎的内置函数库，包括数学运算函数（`plus`、`minus`、`times`、`divide`）、HTML处理函数（`text`、`htmlencode`、`htmldecode`）、URL处理函数（`urlencode`、`urldecode`）、字符串操作函数（`replace`、`substr`、`strlimit`、`concat`、`hidestr`）、日期格式化函数`date`以及字符串比较函数`compare`，提供丰富的模板处理能力提升开发效率。 |
| [核心组件/模板引擎/模板引擎-模板函数/模板函数-基础函数](核心组件/模板引擎/模板引擎-模板函数/模板函数-基础函数.md) | 详细讲解`Golang`标准库模板引擎的基础函数及`GoFrame`框架的改进，包括逻辑运算函数（`and`、`or`、`not`）、函数调用（`call`、`index`）、输出函数（`print`、`printf`、`println`）、URL编码函数`urlquery`以及比较函数（`eq`、`ne`、`lt`、`le`、`gt`、`ge`）。重点介绍`GoFrame`对比较函数的自动类型转换优化，支持不同类型数据的灵活比较，提升开发体验和模板处理能力。 |
| [核心组件/模板引擎/模板引擎-模板函数/模板函数-自定义函数](核心组件/模板引擎/模板引擎-模板函数/模板函数-自定义函数.md) | 讲解`GoFrame`框架`gview`模板引擎中自定义模板函数的实现方法，通过`BindFunc`方法将自定义函数全局绑定到视图对象。提供完整示例展示如何定义自定义函数`funcHello`并绑定到模板引擎，支持普通方式和管道方式两种参数传递方式，同时也支持将自定义对象赋值给模板并通过该对象调用其封装的方法，灵活扩展模板处理能力。 |
| [核心组件/模板引擎/模板引擎-模板变量](核心组件/模板引擎/模板引擎-模板变量.md) | 详细讲解`GoFrame`框架模板引擎中如何使用自定义对象作为模板变量。介绍了在模板中访问对象属性和调用对象方法的语法规则，说明对象指针和对象变量在方法调用上的区别。通过完整代码示例展示了如何定义带方法的结构体、如何在模板中调用这些方法，以及模板变量的传递和解析过程。特别指出方法接收器类型（指针或值）对方法调用的影响，帮助开发者避免常见错误。 |
| [核心组件/模板引擎/模板引擎-模板布局](核心组件/模板引擎/模板引擎-模板布局.md) | 全面介绍`GoFrame`框架`gview`模板引擎的两种布局方式。第一种是使用`define`和`template`标签组合，通过`define`定义模板内容块、`template`标签跨文件引入内容块实现模块化布局。第二种是使用`include`标签直接嵌入模板文件实现页面组合。两种方式均支持模板变量传递，需要使用`.`符号传递上下文。通过完整的代码示例演示了如何构建包含`header`、`container`、`footer`的页面布局，以及如何实现动态内容切换的布局系统。 |
| [核心组件/模板引擎/模板引擎-模板标签](核心组件/模板引擎/模板引擎-模板标签.md) | 全面讲解`GoFrame`框架模板引擎的标签语法和使用方法。介绍如何通过`SetDelimiters`自定义模板闭合标签，使用`.`访问局部变量、`$`访问全局变量。详细说明`pipeline`管道机制在函数调用和值传递中的应用，`if...else`条件判断语句的多种写法，`range`标签用于遍历`slice`、`map`、`channel`等类型的数据。讲解`with`标签的重定向功能，`define`标签定义模板内容块，`template`标签实现模板嵌套和跨文件引用，以及`include`标签在模板中的使用差异。 |
| [核心组件/模板引擎/模板引擎-模板配置](核心组件/模板引擎/模板引擎-模板配置.md) | 详细介绍`GoFrame`框架视图组件的配置管理功能。通过配置文件可以管理视图组件的模板文件搜索目录、默认解析文件、变量分隔符、`XSS`编码等配置项。支持单个和多个`View`对象配置，使用`g.View()`方法可自动获取对应配置。讲解了`SetConfigWithMap`方法的使用，可通过键值对设置特定配置。特别提示模板标签配置`delimiters`与模板中使用的标签必须匹配的重要注意事项。 |
| [核心组件/模板引擎/模板引擎](核心组件/模板引擎/模板引擎.md) | GoFrame框架的模板引擎提供了简单、易用、强大的功能，支持多模板目录搜索、layout模板设计以及模板文件自动更新等特性。通过gview模块实现通用视图管理，支持模板对象单例模式及视图对象管理器的使用，方便进行模板目录配置和模板变量、函数渲染。 |
| [核心组件/类型转换/类型转换-Converter](核心组件/类型转换/类型转换-Converter.md) | 详细介绍`GoFrame`框架`v2.9`版本新增的`gconv.Converter`类型转换接口，提供更严谨、更灵活的类型转换机制。支持创建转换对象实现严格的类型检查和错误处理，转换失败时返回错误而非零值。包含整数、浮点数、时间、结构体、Map、切片等多种类型的转换能力，支持注册自定义转换函数，可创建多个独立配置的转换器实例。相比传统`gconv`包方法，适合对数据准确性要求高的场景，提供一致的API设计和完整的错误处理机制。 |
| [核心组件/类型转换/类型转换-Map转换](核心组件/类型转换/类型转换-Map转换.md) | 使用GoFrame框架中的gconv.Map方法实现类型转换，包括将任意map或struct/*struct类型转换为map[string]interface{}类型。支持属性标签和自定义标签，并可通过MapDeep方法实现递归转换，解析出嵌套对象的详细结构，适合多层次数据处理。 |
| [核心组件/类型转换/类型转换-Scan转换](核心组件/类型转换/类型转换-Scan转换.md) | 了解如何使用GoFrame框架中强大的Scan方法实现任意参数到struct、struct数组、map、map数组的自动识别转换。本文介绍Scan方法的定义及其在Go语言中的应用，同时提供多个编程示例帮助快速理解和掌握此功能，为开发者提供高效便捷的类型转换解决方案。 |
| [核心组件/类型转换/类型转换-Structs转换](核心组件/类型转换/类型转换-Structs转换.md) | GoFrame框架中的类型转换方法，主要聚焦于使用Structs方法实现对struct数组的转换。Structs方法与Struct方法类似，并在其基础上扩展了对struct数组的支持。文中还提供了具体的代码示例，演示了如何在实际应用中使用这一功能。 |
| [核心组件/类型转换/类型转换-Struct转换](核心组件/类型转换/类型转换-Struct转换.md) | 使用GoFrame的gconv模块进行结构体转换，包括从各种数据类型到结构体的映射、自动创建对象、递归转换以及映射规则等实用功能，帮助开发者提升编码效率和项目维护能力。 |
| [核心组件/类型转换/类型转换-UnmarshalValue](核心组件/类型转换/类型转换-UnmarshalValue.md) | 使用GoFrame框架中的gconv模块实现类型转换，尤其是通过UnmarshalValue接口实现自定义转换。详细探讨了反射特性在复杂类型转换中的应用及其性能影响，并提供了多个代码示例，包括自定义结构体转换和TCP数据解包，帮助开发者优化转换效率。 |
| [核心组件/类型转换/类型转换-基本类型](核心组件/类型转换/类型转换-基本类型.md) | 全面介绍`GoFrame`框架`gconv`包的基本类型转换功能。讲解如何使用`gconv`进行整型（`Int`、`Int8`、`Int16`等）、无符号整型（`Uint`系列）、浮点型（`Float32`、`Float64`）、布尔型、字符串以及数组切片类型的转换。通过完整代码示例展示各种转换方法的使用和输出结果。特别说明数字转换方法支持自动识别十六进制和八进制字符串，如`0x`开头的十六进制数字转换功能。 |
| [核心组件/类型转换/类型转换-性能测试](核心组件/类型转换/类型转换-性能测试.md) | 展示`GoFrame`框架`gconv`类型转换组件的性能基准测试结果。测试涵盖多种基本类型转换操作，包括`String`、`Int`系列、`Uint`系列、`Float`系列、`Time`、`Bytes`、切片类型等转换的性能表现。每个测试项显示了执行次数、每次操作耗时、内存分配大小和分配次数，为开发者使用`gconv`进行类型转换时提供性能参考和优化指导。 |
| [核心组件/类型转换/类型转换-自定义类型转换](核心组件/类型转换/类型转换-自定义类型转换.md) | 全面介绍`GoFrame`框架`gconv`组件的自定义类型转换功能。讲解两种注册机制：`RegisterTypeConverterFunc`用于注册特定类型间的转换函数，支持结构体转换和别名类型转换；`RegisterAnyConverterFunc`用于注册通用转换函数。详细说明转换函数的签名要求，输入参数必须为非指针对象以保证安全性。通过多个完整代码示例展示如何实现结构体间转换、别名类型转换等场景，包括错误处理和嵌套结构转换。 |
| [核心组件/类型转换/类型转换](核心组件/类型转换/类型转换.md) | GoFrame框架中的gconv包，该包提供了高效的类型转换功能，支持从常用数据类型到指定类型的转换，并可将任意类型转换为struct对象。gconv广泛使用断言，有效提升程序性能，是开发者实现类型转换的理想选择。 |
| [核心组件/缓存管理/缓存管理-Redis缓存](核心组件/缓存管理/缓存管理-Redis缓存.md) | GoFrame框架中的缓存管理模块，重点讲解Redis缓存的适配实现及其使用方法，通过示例展示如何在多节点环境下确保数据一致性。文中提供了设置Redis客户端和使用Redis缓存适配器的详细步骤，同时探讨了Clear和Size方法在多对象连接情况下的操作注意事项，并建议针对不同业务配置独立的Redis db。 |
| [核心组件/缓存管理/缓存管理-内存缓存](核心组件/缓存管理/缓存管理-内存缓存.md) | 全面介绍`GoFrame`框架高速内存缓存组件`gcache`的使用方法。该缓存组件操作效率极高，`CPU`性能损耗在纳秒级别。讲解基本使用方法包括设置缓存、获取缓存值、删除键值、关闭缓存对象等操作。详细演示过期控制功能，如`SetIfNotExist`、`GetOrSet`等方法的使用。介绍`GetOrSetFunc`函数在并发场景下的高效执行机制，以及`LRU`缓存淘汰控制的配置和使用。 |
| [核心组件/缓存管理/缓存管理-接口设计](核心组件/缓存管理/缓存管理-接口设计.md) | 详细介绍`GoFrame`框架缓存管理组件的接口化设计。通过`Adapter`接口，开发者可以灵活地自定义和扩展缓存管理对象。任何实现了`Adapter`接口的对象都可注册到缓存管理中，实现不同缓存策略的无缝接入。讲解`SetAdapter`方法用于将接口实现应用到`Cache`对象，`GetAdapter`方法用于获取当前注册的接口实现。特别提示`SetAdapter`方法不是并发安全的，不应在多个协程中并发调用。 |
| [核心组件/缓存管理/缓存管理-方法介绍](核心组件/缓存管理/缓存管理-方法介绍.md) | 全面介绍`GoFrame`框架缓存管理组件`gcache`的常用方法。详细讲解`Set`用于设置键值对缓存，`SetAdapter`用于更改底层适配器，`SetIfNotExist`用于条件性写入，`SetMap`用于批量设置等功能。每个方法都提供了完整的函数签名和实际代码示例，帮助开发者理解如何使用这些方法进行高效的缓存管理操作。文档包括各种场景下的使用示例和输出结果，便于开发者快速掌握。 |
| [核心组件/缓存管理/缓存管理](核心组件/缓存管理/缓存管理.md) | GoFrame框架中的gcache模块，它提供了统一的缓存管理功能，包括内存缓存适配实现。gcache支持自定义键名的数据类型和存储任意的数据类型，通过泛型对象进行类型转换，避免直接使用类型断言带来的风险。此外，gcache还提供了缓存过期时间设置，灵活适用于各种缓存应用场景。 |
| [核心组件/调试模式](核心组件/调试模式.md) | 介绍 GoFrame 框架调试模式，在该模式下框架组件将输出调试信息到终端。可通过命令行参数、环境变量或 g.SetDebug 方法开启。 |
| [核心组件/资源管理/资源管理-使用示例](核心组件/资源管理/资源管理-使用示例.md) | 通过完整示例展示`GoFrame`框架资源管理组件在实际项目中的应用。演示了资源管理在`WebServer`的静态服务、配置管理和模板引擎中的集成使用。展示资源文件的组织结构和打包方式，包括配置文件`config.toml`、静态资源`index.html`和模板文件`index.tpl`。通过简单的`import`引入就能实现资源文件的自动加载，无需对代码做额外设置，充分体现`GoFrame`资源管理的便捷性。 |
| [核心组件/资源管理/资源管理-工具打包](核心组件/资源管理/资源管理-工具打包.md) | 详细介绍如何使用`GoFrame`框架的`gf`命令行工具进行资源文件打包。通过`gf pack`命令可将项目的`config`、`public`、`template`等目录打包成`Go`文件，生成的文件会通过`gres.Add`方法将压缩后的`BASE64`字符串资源添加到默认资源管理器。详细讲解在`boot`包中引入`packed`资源包的正确顺序，以及在`main`包中引入`boot`包的方式。提供了`gres.Dump()`方法来打印资源文件列表以便验证打包结果。 |
| [核心组件/资源管理/资源管理-方法介绍](核心组件/资源管理/资源管理-方法介绍.md) | 全面介绍`GoFrame`框架资源管理组件`gres`的常用方法。详细讲解`Add`方法用于添加压缩内容到资源对象，`Load`方法用于加载文件数据，`Get`方法返回指定路径文件，`GetWithIndex`用于目录索引文件搜索（适用于`HTTP`静态服务），`GetContent`直接返回文件内容，`Contains`检查资源是否存在，`ScanDir`等方法用于扫描目录中的文件。每个方法都提供了完整的函数签名和实际代码示例，帮助开发者掌握资源管理操作。 |
| [核心组件/资源管理/资源管理-方法打包](核心组件/资源管理/资源管理-方法打包.md) | 详细讲解如何通过`GoFrame`框架资源管理组件的方法实现自定义文件打包和解包功能。介绍`Pack*`和`Unpack*`方法可将文件打包为二进制文件或`Go`代码文件。讲解`Resource`对象实现资源管理、`File`对象实现文件操作、`ScanDir`和`ScanDirFile`方法实现目录扫描。通过完整示例演示如何自定义打包目录到加密的二进制文件，以及如何解密和解包资源文件，展示了使用`gaes`加密算法保护资源内容的实现方法。 |
| [核心组件/资源管理/资源管理-最佳实践](核心组件/资源管理/资源管理-最佳实践.md) | 详细介绍`GoFrame`框架资源管理的最佳实践流程。资源管理设计目标是在开发阶段不影响静态文件的开发，仅在发布时执行打包。推荐使用官方提供的工程化目录结构和`CLI`工具创建项目，利用`packed`目录存放打包内容。开发阶段直接通过文件系统访问静态文件。发布时通过配置`hack/config.yaml`中的`packSrc`选项指定需要打包的目录，使用`gf build`命令自动打包并编译。打包完成后自动清理临时文件，对开发者无感知且使用便捷。 |
| [核心组件/资源管理/资源管理](核心组件/资源管理/资源管理.md) | 通过GoFrame框架进行资源管理，将任意文件或目录打包为Golang源码文件，实现高效的内存操作。资源文件支持自定义加解密和压缩，并可作为独立二进制资源文件，使得文件操作更快捷。 |
| [核心组件/配置管理/配置管理-Loader加载器](核心组件/配置管理/配置管理-Loader加载器.md) | GoFrame框架的Loader配置加载器，提供类似Spring Boot @ConfigurationProperties的功能，支持自动配置绑定、配置监听和更新。使用Go泛型实现类型安全的配置管理，支持自定义转换器和回调处理，是管理应用配置的强大工具。 |
| [核心组件/配置管理/配置管理-TOML格式](核心组件/配置管理/配置管理-TOML格式.md) | TOML格式在GoFrame框架中的使用，包括其与其他文件格式的比较、基础语法、数值与BOOL值处理、日期时间、数组、表格、表格数组等内容，帮助用户更好地理解和应用TOML配置管理。 |
| [核心组件/配置管理/配置管理-YAML格式](核心组件/配置管理/配置管理-YAML格式.md) | 在GoFrame框架中使用YAML格式进行配置管理。YAML是一种便于人类读写的数据串行化格式，支持对象、数组和纯量等数据结构。文章还提供了YAML与JavaScript之间的转换示例，帮助读者更好地理解YAML格式的应用和实现。 |
| [核心组件/配置管理/配置管理-常用方法](核心组件/配置管理/配置管理-常用方法.md) | 介绍`GoFrame`框架`gcfg`组件中的常用配置读取方法，包括`GetWithEnv`、`GetWithCmd`、`MustGetWithCmd`和`Data`方法的使用方式和特点。通过代码示例详细讲解如何从环境变量、命令行参数及配置文件中获取和组装配置数据，帮助开发者灵活使用配置管理功能。 |
| [核心组件/配置管理/配置管理-接口化设计/配置管理-AdapterContent](核心组件/配置管理/配置管理-接口化设计/配置管理-AdapterContent.md) | 详细介绍`GoFrame`框架`gcfg`组件中`AdapterContent`接口的使用，基于配置内容实现，用户可直接提供具体的配置内容生成`Adapter`接口对象。支持多种配置格式（YAML、JSON、TOML等）。通过代码示例展示如何使用`gcfg.NewAdapterContent`方法创建基于内容的配置管理对象，无需依赖外部配置文件，适用于嵌入式配置场景。 |
| [核心组件/配置管理/配置管理-接口化设计/配置管理-AdapterFile](核心组件/配置管理/配置管理-接口化设计/配置管理-AdapterFile.md) | 全面讲解`GoFrame`框架`gcfg`组件中`AdapterFile`的使用，作为框架默认的配置管理实现方式，基于文件进行配置加载和读取。介绍两种使用方式：通过`g.Cfg()`单例对象便捷使用，或通过`gcfg.NewWithAdapter`方法创建自定义配置管理对象。提供完整代码示例展示YAML配置文件的加载和读取，包括服务器和数据库配置。 |
| [核心组件/配置管理/配置管理-接口化设计/配置管理-接口化设计](核心组件/配置管理/配置管理-接口化设计/配置管理-接口化设计.md) | 详细介绍`GoFrame`框架`gcfg`组件的接口化设计架构，通过`Adapter`接口定义实现高度可扩展的配置管理系统。支持自定义对接多种配置数据源，如`etcd`、`zookeeper`、`consul`、`kubernetes configmap`、`apollo`等。详细讲解`Available`、`Get`、`Data`三个核心方法的定义，以及如何通过`SetAdapter`和`GetAdapter`方法设置和获取接口实现。 |
| [核心组件/配置管理/配置管理-文件配置](核心组件/配置管理/配置管理-文件配置.md) | 详细介绍`GoFrame`框架中`gcfg`组件的文件配置功能，支持`JSON`、`XML`、`YAML`、`TOML`、`INI`、`PROPERTIES`等多种配置格式。讲解默认配置文件机制、配置目录管理、自动检索特性及缓存策略，支持通过环境变量和命令行参数动态修改配置文件路径和目录。 |
| [核心组件/配置管理/配置管理-配置对象](核心组件/配置管理/配置管理-配置对象.md) | 介绍`GoFrame`框架中配置管理对象的获取和使用方法，通过`g.Cfg()`和`gcfg.Instance()`方法以单例模式获取全局配置对象。讲解配置文件的层级访问方式、自动检索特性，以及如何根据单例名称自动检索对应配置文件，支持多配置文件场景下的便捷使用。 |
| [核心组件/配置管理/配置管理-配置监听回调](核心组件/配置管理/配置管理-配置监听回调.md) | 介绍`GoFrame`框架`gcfg`组件中的配置监听功能`WatcherAdapter`接口，支持监听配置文件的修改、创建、删除等变化事件。详细讲解观察者模式的使用方法、接口定义、适配器支持情况，以及通过`context`获取文件操作详细信息，实现动态响应配置变化的能力。 |
| [核心组件/配置管理/配置管理](核心组件/配置管理/配置管理.md) | GoFrame框架的配置管理组件gcfg，该组件支持并发安全操作，提供文件系统接口实现，支持多种配置文件格式如yaml、toml、json等，并允许在配置项缺失时读取环境变量或命令行参数，具有自动检测配置文件热更新、单例管理等特性。 |
| [核心组件/错误处理/错误处理-其他特性](核心组件/错误处理/错误处理-其他特性.md) | 详细介绍`GoFrame`框架`gerror`组件的高级特性，包括使用`NewWithOption`自定义错误对象创建、`fmt`格式化符号（`%v`、`%+v`等）打印堆栈信息、`glog`日志组件对`gerror`的天然支持，以及通过环境变量`GF_GERROR_STACK_MODE`配置堆栈打印模式（简略/详细）。 |
| [核心组件/错误处理/错误处理-国际化支持](核心组件/错误处理/错误处理-国际化支持.md) | 详细介绍`GoFrame`框架`gerror`组件的国际化支持功能（`v2.10.0+`），通过`ITextArgs`接口分离错误消息模板和参数，实现错误信息的多语言翻译。讲解`Text()`、`Args()`方法的使用，并提供国际化处理、结构化日志记录、错误聚合等实际应用场景示例。 |
| [核心组件/错误处理/错误处理-堆栈特性](核心组件/错误处理/错误处理-堆栈特性.md) | 深入讲解`GoFrame`框架`gerror`组件的堆栈追溯功能，通过`New`、`Wrap`等方法自动记录错误产生时的完整堆栈信息。介绍`HasStack`判断错误是否包含堆栈、`Stack`获取堆栈信息列表、`Current`获取当前层级错误等方法，增强错误调试和问题定位能力。 |
| [核心组件/错误处理/错误处理-常用方法](核心组件/错误处理/错误处理-常用方法.md) | 深入介绍`GoFrame`框架`gerror`组件的常用方法，包括错误创建方法`New/Newf`（创建带堆栈信息的错误）、错误包装方法`Wrap/Wrapf`（构造多级错误链）、以及高级方法`NewSkip/NewSkipf`和`WrapSkip/WrapSkipf`（忽略部分堆栈信息），帮助开发者有效管理和调试错误。 |
| [核心组件/错误处理/错误处理-性能测试](核心组件/错误处理/错误处理-性能测试.md) | 提供`GoFrame`框架`gerror`组件各种错误处理方法的基准性能测试结果，包括`New`、`Newf`、`Wrap`、`Wrapf`、`NewSkip`、`NewCode`等常用方法的性能数据。通过详细的`Benchmark`测试数据展示每个操作的执行时间、内存分配和调用次数，帮助开发者了解不同错误处理方法的性能开销，为性能优化提供参考依据。 |
| [核心组件/错误处理/错误处理-最佳实践](核心组件/错误处理/错误处理-最佳实践.md) | 总结`GoFrame`框架`gerror`组件的错误处理最佳实践，重点讲解两个核心要点：使用`%+v`格式化符号打印完整的错误堆栈信息以便调试；在使用`Wrap`方法包裹错误时避免将原错误信息再次打印到错误字符串中，防止错误信息重复显示。通过正确和错误的代码示例对比，帮助开发者掌握正确的错误处理方式。 |
| [核心组件/错误处理/错误处理-错误比较](核心组件/错误处理/错误处理-错误比较.md) | 详细讲解`GoFrame`框架`gerror`组件的错误比较功能，包括三个核心方法：`Equal`用于完整判断两个错误是否相同（比较错误码和错误信息）；`Is`用于判断错误链中是否包含特定目标错误；`As`用于将错误链中的错误转换为特定类型。介绍相关接口定义`IEqual`和使用示例，帮助开发者进行精确的错误比较和类型转换。 |
| [核心组件/错误处理/错误处理-错误码特性/错误处理-错误码实现](核心组件/错误处理/错误处理-错误码特性/错误处理-错误码实现.md) | 详细讲解`GoFrame`框架中如何自定义实现复杂的业务错误码。通过实现`gcode.Code`接口，定义包含`code`、`message`和自定义`detail`的错误码结构体`BizCode`。示例展示了如何定义业务错误码（如`CodeNotFound`、`CodeInternal`）并在中间件中使用，将HTTP状态码和自定义错误信息结合返回给客户端，实现灵活的错误处理机制。 |
| [核心组件/错误处理/错误处理-错误码特性/错误处理-错误码扩展](核心组件/错误处理/错误处理-错误码特性/错误处理-错误码扩展.md) | 详细讲解`GoFrame`框架`gcode`组件的错误码扩展功能，通过`Detail`参数实现复杂业务场景下的错误码自定义。示例展示如何定义包含用户信息的`BizCode`结构体，使用`gcode.WithCode`方法创建带扩展数据的错误码。在中间件中获取错误码详情进行日志记录，并将错误信息返回给客户端，实现灵活的错误处理和日志管理。 |
| [核心组件/错误处理/错误处理-错误码特性/错误处理-错误码接口](核心组件/错误处理/错误处理-错误码特性/错误处理-错误码接口.md) | 全面介绍`GoFrame`框架`gcode`错误码组件的接口化设计和高扩展性。详细讲解`Code`接口的三个核心方法：`Code()`返回错误码的整数值、`Message()`返回错误描述、`Detail()`返回错误详细信息。框架提供默认实现，开发者可通过`New`方法创建错误码，也可自定义实现`Code`接口满足复杂业务需求。 |
| [核心组件/错误处理/错误处理-错误码特性/错误处理-错误码方法](核心组件/错误处理/错误处理-错误码特性/错误处理-错误码方法.md) | 全面讲解`GoFrame`框架`gerror`组件中带错误码的`error`对象创建和操作方法。包括创建方法：`NewCode/NewCodef`用于创建带错误码和堆栈信息的错误对象；包裹方法：`WrapCode/WrapCodef`用于包裹现有错误并添加错误码；高级方法：`NewCodeSkip/WrapCodeSkip`可忽略部分堆栈信息；`Code`方法用于递归获取错误对象中的错误码。提供详细代码示例帮助开发者掌握错误码的实际应用。 |
| [核心组件/错误处理/错误处理](核心组件/错误处理/错误处理.md) | GoFrame框架提供了强大的错误处理能力，通过gerror组件实现，所有组件在返回错误时带有堆栈信息，方便开发者快速定位问题。使用该框架能有效提升编程效率及程序稳定性。 |
| [框架设计/Golang枚举值管理](框架设计/Golang枚举值管理.md) | 在Go语言中实现枚举值，虽然Go语言本身不支持enum定义，但是可以通过const来模拟枚举类型。这种方法在Kubernetes项目中广泛使用。此外，本文还探讨了如何在跨服务调用和前后端协作中高效维护枚举值的问题，并提供了使用OpenAPI标准协议与相关工具来实现的方法。 |
| [框架设计/工程开发设计/代码分层设计](框架设计/工程开发设计/代码分层设计.md) | GoFrame框架的代码分层设计，包括MVC设计模式和三层架构设计。MVC设计模式适合需要服务端渲染页面的业务场景，而三层架构设计强调高内聚低耦合的思想，通过将业务逻辑层与数据访问层进行分离，提高项目的维护性和灵活性。 |
| [框架设计/工程开发设计/工程目录设计](框架设计/工程开发设计/工程目录设计.md) | GoFrame框架工程目录设计，基于三层架构模型并结合现代工程实践进行改进，为复杂业务项目提供通用且灵活的目录结构设计。目录组件包含api、internal、dao和service等模块，支持多种业务场景，同时鼓励开发者灵活增减目录，用于业务实现中各类具体应用。 |
| [框架设计/工程开发设计/微服务大仓管理模式](框架设计/工程开发设计/微服务大仓管理模式.md) | GoFrame框架对微服务-单仓管理模式的支持，详细描述如何在这种模式下进行代码开发和服务协作。讨论了单仓管理的优缺点，以及如何通过划分仓库职责、管理代码可见性、统一镜像仓库等方法优化微服务协作。同时，提供了相关的框架指令，帮助开发者更高效地管理和部署微服务项目。 |
| [组件列表/功能调试/调试功能-gdebug](组件列表/功能调试/调试功能-gdebug.md) | GoFrame框架通过gdebug组件提供了丰富的调试功能，适用于开发环境中堆栈和调用链的分析。虽然调试方法与性能效率相关性不强，但可以帮助开发者更好地了解代码执行路径和调用信息。 |
| [组件列表/加密解密/AES算法-gaes](组件列表/加密解密/AES算法-gaes.md) | 在GoFrame框架中使用AES算法进行数据加解密。通过引入go包以及调用相关功能函数，用户可以实现安全的数据传输和存储。特别注意在加解密过程中如果数据经过其他编码如base64，则需要准确解码和编码，以确保数据的完整性和安全性。 |
| [组件列表/加密解密/DES算法-gdes](组件列表/加密解密/DES算法-gdes.md) | 在GoFrame框架中使用DES算法的方式，展示了如何通过gdes包实现加密操作。通过链接至官方接口文档以便开发者获取更多技术细节。在包中支持两种补位方式，并对三倍长DES算法的密钥使用进行了特殊说明，以确保数据安全性。 |
| [组件列表/加密解密/RSA算法-grsa](组件列表/加密解密/RSA算法-grsa.md) | 在GoFrame框架中使用RSA算法进行加密解密操作。grsa组件提供完整的RSA加密支持，包括密钥对生成、公钥加密、私钥解密、多种填充模式（PKCS1、OAEP）和密钥格式（PEM、DER、Base64），适用于安全数据传输和数字签名场景。 |
| [组件列表/加密解密/SHA256算法-gsha256](组件列表/加密解密/SHA256算法-gsha256.md) | 在GoFrame框架中使用SHA256算法进行哈希计算。gsha256组件提供完整的SHA256哈希功能，支持字符串、字节数组、文件的哈希计算，以及HMAC-SHA256签名验证，适用于数据完整性校验、密码存储、数字签名等场景。 |
| [组件列表/单元测试/单元测试-gtest](组件列表/单元测试/单元测试-gtest.md) | gtest模块在GoFrame框架下的使用，提供简便和轻量级的单元测试方法。gtest基于标准库testing进行功能扩展，增加了多个测试特性，如测试用例隔离和常用断言方法。适用于大部分的单元测试场景，并在需要更复杂测试时，可结合第三方测试框架如testify和goconvey使用。 |
| [组件列表/实用工具/元数据-gmeta](组件列表/实用工具/元数据-gmeta.md) | 在GoFrame框架中使用gmeta包来为用户自定义的结构体添加元数据标签，并通过特定的方法在运行时动态获取这些标签内容，包括如何使用Data方法和Get方法获取指定对象的元数据标签信息。 |
| [组件列表/实用工具/唯一数-guid](组件列表/实用工具/唯一数-guid.md) | 使用GoFrame框架的GUID模块生成高性能且简便使用的全局唯一数。GUID生成的字符串由数字及小写英文字符组成，长度固定为32字节。文档详细说明了GUID的生成机制、使用方式及其在各种场景下的优势。 |
| [组件列表/实用工具/工具方法-gutil](组件列表/实用工具/工具方法-gutil.md) | gutil组件是GoFrame框架中用于封装常用开发工具方法的模块，提供了一系列便利的函数，支持数据结构的友好输出，如Dump和DumpWithType。开发者可以通过github库引入gutil组件，以提高Go语言项目开发效率。 |
| [组件列表/实用工具/随机数-grand](组件列表/实用工具/随机数-grand.md) | GoFrame框架中的grand模块，提供了对随机数操作的优化封装，具备高性能和多样性的随机生成方法，包含整数、字符串及概率性计算。通过实用的方法如Intn、Str等，您可以轻松生成各种类型的随机数据，满足不同的开发需求。 |
| [组件列表/数据结构/字典类型-gmap/字典类型-gmap](组件列表/数据结构/字典类型-gmap/字典类型-gmap.md) | 在GoFrame框架中使用gmap字典类型的基本方法和注意事项。gmap模块提供了多种并发安全的map数据结构选项，包括HashMap、TreeMap和ListMap。适用于在Go应用程序中任何涉及并发访问和哈希表操作的场景，并详细描述了每种类型的性能和特性。 |
| [组件列表/数据结构/字典类型-gmap/字典类型-基本使用](组件列表/数据结构/字典类型-gmap/字典类型-基本使用.md) | GoFrame框架下gmap模块的基本使用方法，包括并发安全特性的开关操作，键值对的设置、查询和删除，以及数据结构的有序遍历、序列化与反序列化等内容。v2.10版本新增泛型Map支持，提供类型安全的映射操作，并支持自定义nil值检查器，并提供了详细的代码示例与执行结果。 |
| [组件列表/数据结构/字典类型-gmap/字典类型-性能测试](组件列表/数据结构/字典类型-gmap/字典类型-性能测试.md) | 针对字典类型的性能进行详细测试和分析。通过对GoFrame框架中的gmap与标准库sync.Map的性能比较，揭示在并发安全与非并发安全不同场景下的效率表现。包括不同类型map的性能基准测试，如HashMap、ListMap和TreeMap，提供开发者优化应用程序的实时参考。 |
| [组件列表/数据结构/字典类型-gmap/字典类型-方法介绍](组件列表/数据结构/字典类型-gmap/字典类型-方法介绍.md) | GoFrame框架中AnyAnyMap的各种方法，包括创建、克隆、迭代、设置、删除和合并等操作。同时，还提供了代码示例以帮助理解这些方法的使用方式确保代码的并发安全性，更详细内容可参考GoFrame框架文档。 |
| [组件列表/数据结构/安全类型-gtype/安全类型-gtype](组件列表/数据结构/安全类型-gtype/安全类型-gtype.md) | GoFrame框架中的安全类型gtype，适用于任何需要并发安全的场景。通过提供对最常用基本数据类型的并发安全支持，gtype具备比互斥锁更高的性能，使用atomic原子操作简化并发控制，方便开发者在复杂场景下进行高效的并发编程。 |
| [组件列表/数据结构/安全类型-gtype/安全类型-基本使用](组件列表/数据结构/安全类型-gtype/安全类型-基本使用.md) | 在GoFrame框架中使用gtype模块实现并发安全的基本类型操作。通过示例代码展示了如何创建和操作线程安全的基本类型，如整数类型的增减操作，以及gtype容器类型的JSON序列化和反序列化功能，帮助开发者便捷地管理数据。 |
| [组件列表/数据结构/安全类型-gtype/安全类型-性能测试](组件列表/数据结构/安全类型-gtype/安全类型-性能测试.md) | 展示了GoFrame框架中gtype包的安全类型性能基准测试结果，通过详细测试数据对比，分析不同数据类型的方法执行效率，为Go语言的开发者提供参考，提高并发编程中的数据处理能力。 |
| [组件列表/数据结构/对象复用-gpool/对象复用-gpool](组件列表/数据结构/对象复用-gpool/对象复用-gpool.md) | GoFrame框架中的对象复用池gpool的基本功能和使用场景，包括提供对象缓存复用、过期时间、创建和销毁方法的定义。gpool设计与sync.Pool的区别在于对过期时间的支持和GC压力缓解功能的不同，是并发安全的。 |
| [组件列表/数据结构/对象复用-gpool/对象复用-基本使用](组件列表/数据结构/对象复用-gpool/对象复用-基本使用.md) | 在GoFrame框架中使用gpool进行对象复用。在示例中，我们创建和操作了一个对象池，展示了对象的获取、返回及过期处理方法。此方法对于管理短生命周期的资源非常有效，可以显著提高程序性能和资源利用率。 |
| [组件列表/数据结构/并发安全环-gring/并发安全环-gring](组件列表/数据结构/并发安全环-gring/并发安全环-gring.md) | GoFrame框架中的并发安全环gring的基本功能和使用场景，包括环形队列、循环双向链表等特性。gring在底层开发中用于并发锁控制、缓冲区控制等场景，支持固定大小的环形结构，当数据超过容量时新值将覆盖旧值。 |
| [组件列表/数据结构/并发安全环-gring/并发安全环-基本使用](组件列表/数据结构/并发安全环-gring/并发安全环-基本使用.md) | GoFrame框架中gring并发安全环的基本使用示例，包括约瑟夫问题的经典实现和泛型版本的类型安全实现。 |
| [组件列表/数据结构/并发安全环-gring/并发安全环-方法介绍](组件列表/数据结构/并发安全环-gring/并发安全环-方法介绍.md) | GoFrame框架gring并发安全环的常用方法介绍，包括传统方式和泛型方式的完整API说明。 |
| [组件列表/数据结构/数组类型-garray/数组类型-garray](组件列表/数据结构/数组类型-garray/数组类型-garray.md) | 全面介绍`GoFrame`框架`garray`数组类型模块的功能和用法。`garray`提供并发安全的数组容器，支持普通数组和排序数组，提供数据项唯一性矫正功能。支持`int`/`string`/`interface{}`三种数据类型，普通数组命名格式为`*Array`（如`Array`、`IntArray`、`StrArray`），排序数组为`Sorted*Array`（如`SortedArray`、`SortedIntArray`）。`v2.10+`新增泛型数组`TArray[T]`和`SortedTArray[T]`，推荐新项目使用泛型数组以享受编译时类型检查和IDE智能支持。`gutil`包提供Comparator比较方法。 |
| [组件列表/数据结构/数组类型-garray/数组类型-基本使用](组件列表/数据结构/数组类型-garray/数组类型-基本使用.md) | 详细介绍`GoFrame`框架`garray`数组类型的基本使用，涵盖泛型数组和传统数组。重点推荐`v2.10+`新增的泛型数组`TArray[T]`和`SortedTArray[T]`，提供类型安全的数组操作，支持编译时类型检查和IDE智能提示。讲解泛型普通数组、泛型排序数组（自定义比较函数）、传统并发安全数组的创建和常用操作，包括添加、遍历、排序、随机获取、出栈、包含判断、空值过滤和翻转等功能。提供完整示例代码展示泛型数组优势：类型安全、性能优化、更好IDE支持和与旧版本兼容。 |
| [组件列表/数据结构/数组类型-garray/数组类型-方法介绍](组件列表/数据结构/数组类型-garray/数组类型-方法介绍.md) | 全面介绍`GoFrame`框架`garray`数组类型的常用方法，包括`Append`尾部追加、`At`索引访问、`Chunk`数组分割、`Clear`清空数据、`Clone`克隆数组、`Contains`包含判断等核心方法。每个方法都配有详细的参数说明、使用示例和输出结果，帮助开发者快速掌握数组操作技巧。提示文档更新可能滞后，更多方法和示例请参考官方API文档。适用于字符串数组、整数数组和泛型数组的各种处理场景。 |
| [组件列表/数据结构/树形类型-gtree/树形类型-gtree](组件列表/数据结构/树形类型-gtree/树形类型-gtree.md) | 该文档介绍了GoFrame框架提供的树形容器组件，包括RedBlackTree、AVLTree和BTree等数据结构。树形容器支持并发安全和有序遍历，适合处理大数据量的存储需求。通过GoFrame框架，开发者可以高效地实现关联数组、排序键值对和大数据量内存CRUD等场景。 |
| [组件列表/数据结构/树形类型-gtree/树形类型-基本使用](组件列表/数据结构/树形类型-gtree/树形类型-基本使用.md) | 在GoFrame框架中使用树形类型的数据结构进行基本操作。通过示例代码展示了如何创建和操作RedBlackTree和AVL树，包括节点的添加、删除和遍历等功能，使开发者能够轻松实现高效的数据存储和查找。 |
| [组件列表/数据结构/树形类型-gtree/树形类型-方法介绍](组件列表/数据结构/树形类型-gtree/树形类型-方法介绍.md) | GoFrame框架中树形结构的多种操作方法，包括NewBTree、Clone、Set、Get等，详细的示例展示了如何使用这些方法进行节点的添加、查找、删除等操作，同时支持并发安全的设置，用户可以通过本文档快速掌握树形结构的使用技巧。 |
| [组件列表/数据结构/泛型类型-gvar/泛型类型-gvar](组件列表/数据结构/泛型类型-gvar/泛型类型-gvar.md) | GoFrame框架中的gvar类型，它是一种运行时泛型实现，旨在提高开发便捷性和效率。gvar支持内置数据类型转换，并可作为interface{}的替代类型，其与并发安全特性使其在需要频繁数据转换的场景下表现出色。此外，还介绍了gvar类型的使用方式和相关接口文档。 |
| [组件列表/数据结构/泛型类型-gvar/泛型类型-基本使用](组件列表/数据结构/泛型类型-gvar/泛型类型-基本使用.md) | 在使用GoFrame框架时，利用gvar.Var容器进行泛型类型的基本使用，包括基本类型转换和slice转换。还展示了如何实现JSON格式的数据序列化和反序列化操作，借助GoFrame框架提供的接口，用户能够轻松操作复杂数据结构，实现高效的数据处理。 |
| [组件列表/数据结构/泛型类型-gvar/泛型类型-方法介绍](组件列表/数据结构/泛型类型-gvar/泛型类型-方法介绍.md) | GoFrame框架中的常用方法，包括创建新变量、克隆变量、设置变量、获取变量值等操作。通过示例代码讲解每个方法的使用方式，帮助用户更好地理解和应用这些方法。 |
| [组件列表/数据结构/泛型类型-gvar/泛型类型-注意事项](组件列表/数据结构/泛型类型-gvar/泛型类型-注意事项.md) | 使用GoFrame框架中的泛型类型的注意事项。尽管泛型提高了开发便捷性，但在复杂业务项目中可能影响长期维护。建议在基础组件和中间件项目中使用泛型，同时明确业务模型的数据类型以发挥编译型语言的优势。 |
| [组件列表/数据结构/链表类型-glist/链表类型-glist](组件列表/数据结构/链表类型-glist/链表类型-glist.md) | GoFrame框架中的glist组件，支持并发安全的双向链表。glist提供了链表的数据结构和并发控制，v2.10版本新增泛型链表TList，提供类型安全的链表操作，适用于需要使用双向链表的场景，从而提高Go语言程序的开发效率和运行性能。 |
| [组件列表/数据结构/链表类型-glist/链表类型-基本使用](组件列表/数据结构/链表类型-glist/链表类型-基本使用.md) | 使用GoFrame框架中的glist容器进行链表操作，包括基本使用、链表遍历、元素入栈与出栈、插入与移动操作、串联与移除操作以及JSON序列化反序列化。v2.10版本新增泛型链表TList，提供类型安全的链表操作。示例代码展示了在非并发安全与并发安全场景下的不同操作，帮助理解Go语言中链表的应用。 |
| [组件列表/数据结构/链表类型-glist/链表类型-性能测试](组件列表/数据结构/链表类型-glist/链表类型-性能测试.md) | 在GoFrame框架下，链表(container/glist)的性能测试结果。通过一系列基准测试，包括PushBack、PushFront、Len、PopFront和PopBack，评估了链表操作的效率和性能，以帮助开发者优化代码性能。 |
| [组件列表/数据结构/队列类型-gqueue/队列类型-gqueue](组件列表/数据结构/队列类型-gqueue/队列类型-gqueue.md) | GoFrame框架中的动态大小并发安全队列gqueue，其支持固定和动态大小队列的功能，与标准库的channel效率相当。v2.10版本新增泛型队列TQueue，提供类型安全的队列操作。gqueue特别适合于多goroutine之间的数据通信，并为开发者提供了简便且强大的并发处理能力。 |
| [组件列表/数据结构/队列类型-gqueue/队列类型-基本使用](组件列表/数据结构/队列类型-gqueue/队列类型-基本使用.md) | 使用GoFrame框架中的gqueue组件进行基本的队列操作，包括元素的入队和出队、队列长度的获取以及队列的关闭。v2.10版本新增泛型队列TQueue，提供类型安全的队列操作。详细演示了通过Push和Pop方法管理队列元素，并展示了队列与glist链表的关系，确保在GoFrame框架下高效构建并发安全的程序逻辑。 |
| [组件列表/数据结构/队列类型-gqueue/队列类型-性能测试](组件列表/数据结构/队列类型-gqueue/队列类型-性能测试.md) | 在GoFrame框架中gqueue与标准库channel的性能测试。通过基准测试展示了gqueue在动态存储和弹性容量上的优势，相对于channel的固定内存分配和容量限制，gqueue在创建效率和灵活性表现更佳。 |
| [组件列表/数据结构/集合类型-gset/集合类型-gset](组件列表/数据结构/集合类型-gset/集合类型-gset.md) | GoFrame框架中的集合类型gset，其特点是不重复元素集合，支持任意类型的元素。gset提供了并发安全的选项，是一种高效的集合操作工具，适合在Go语言中应用。v2.10版本新增泛型集合TSet，提供类型安全的集合操作。提供了详细的使用方式及接口文档链接，便于开发者查阅。 |
| [组件列表/数据结构/集合类型-gset/集合类型-基本使用](组件列表/数据结构/集合类型-gset/集合类型-基本使用.md) | 在GoFrame框架中使用集合类型及其基本操作方法，包括集合的创建、添加、删除、遍历等，并探讨了交集、差集、并集、补集等高级操作。v2.10版本新增泛型集合TSet，提供类型安全的集合操作。此外，文章还详细解释了包含判断、集合项出栈、子集判断、判断性写入等功能，并以代码示例展示了如何进行JSON序列化和反序列化处理。 |
| [组件列表/数据结构/集合类型-gset/集合类型-性能测试](组件列表/数据结构/集合类型-gset/集合类型-性能测试.md) | 在GoFrame框架中集合类型的性能测试结果，包含各种数据类型如整数、任意数据类型和字符串的集合操作的基准测试。这些基准测试展示了不同集合操作的性能指标，帮助开发者优化代码性能并在使用GoFrame框架构建高效应用时提高效率。 |
| [组件列表/数据结构/集合类型-gset/集合类型-方法介绍](组件列表/数据结构/集合类型-gset/集合类型-方法介绍.md) | 利用GoFrame库实现集合类型的基本操作方法，包括创建集合、新增元素、集合运算、元素检查与删除、集合迭代等多种功能，还提供了具体的代码示例以帮助理解和应用这些方法。 |
| [组件列表/文本处理/字符串处理-gstr](组件列表/文本处理/字符串处理-gstr.md) | gstr提供了强大便捷的文本处理组件，包含字符串判断、大小写转换、字符串比较、切分组合、命名转换等多种功能，相较于Golang标准库更加全面丰富。 |
| [组件列表/文本处理/正则表达式-gregex/正则表达式-gregex](组件列表/文本处理/正则表达式-gregex/正则表达式-gregex.md) | GoFrame框架中gregex库的基本功能和用法。gregex是对标准库regexp的封装，提供了简化的正则表达式使用方式，并通过解析缓存设计优化了执行效率，使得正则操作更加高效便捷。 |
| [组件列表/文本处理/正则表达式-gregex/正则表达式-基本使用](组件列表/文本处理/正则表达式-gregex/正则表达式-基本使用.md) | 展示了如何在GoFrame框架中使用正则表达式进行基本的文本匹配操作。通过一个简单的示例代码，您可以了解如何提取和处理字符串中的信息，是开发者进行文本处理的重要参考。 |
| [组件列表/文本处理/正则表达式-gregex/正则表达式-方法介绍](组件列表/文本处理/正则表达式-gregex/正则表达式-方法介绍.md) | 使用GoFrame框架进行正则表达式匹配，包括了IsMatch、Match、MatchAll等常用方法，并提供了函数定义和示例。GoFrame框架以其高效的执行性能被用于多种正则处理场景，本文档通过具体示例教学，帮助您更好地理解和应用这些功能。 |
| [组件列表/系统相关/上下文-gctx](组件列表/系统相关/上下文-gctx.md) | GoFrame框架中gctx组件的基本概念及常用方法。gctx用于简化链路跟踪及上下文对象的管理，方便进程初始化和上下文操作。主要涉及的内容包括如何创建和获取支持链路跟踪的上下文对象，以及在进程和init包中的应用。结合示例代码和API文档，可更详细地了解gctx的实际应用。 |
| [组件列表/系统相关/互斥锁-gmutex](组件列表/系统相关/互斥锁-gmutex.md) | GoFrame框架中的gmutex互斥锁，该锁支持并发读写控制，与标准库sync.RWMutex类似。其特点是包含Try*方法和*Func方法，用于非阻塞锁机制和特定作用域锁控制。通过示例代码展示了其便捷的使用方式，以及与标准库锁的基准测试对比，展示了其性能优势。适用于需要高效锁机制的并发编程场景。 |
| [组件列表/系统相关/内存锁-gmlock](组件列表/系统相关/内存锁-gmlock.md) | 内存锁模块提供了基于GoFrame框架的动态互斥锁功能，支持给定键名动态生成锁，实现并发安全和TryLock特性。通过GoFrame提供的方法，可以方便地在需要动态创建大量互斥锁的场景中应用，如在多goroutine并发处理中有效管理锁，确保资源安全访问。 |
| [组件列表/系统相关/协程管理-grpool](组件列表/系统相关/协程管理-grpool.md) | Go语言中轻量级的协程管理工具grpool，讨论其在高并发下的性能优势和资源复用。通过池化技术，对大量goroutine进行管理，以降低内存占用和优化全局调度，适用于异步任务和内存使用率要求高的场景。 |
| [组件列表/系统相关/定时任务-gcron/定时任务-gcron](组件列表/系统相关/定时任务-gcron/定时任务-gcron.md) | GoFrame框架中gcron模块的使用，提供类似crontab的定时任务管理功能，支持秒级管理。介绍了如何创建、添加、管理和删除定时任务，并强调了全局时区对定时任务执行的影响，适用于需要编写定时任务的开发者。 |
| [组件列表/系统相关/定时任务-gcron/定时任务-gcron与gtimer](组件列表/系统相关/定时任务-gcron/定时任务-gcron与gtimer.md) | GoFrame框架中定时任务模块gcron与定时器模块gtimer的区别。gtimer是高性能模块，适用于各种定时任务场景，包括TCP通信和游戏开发。gcron支持crontab语法，基于gtimer实现，为用户提供了便捷的定时任务管理方式。 |
| [组件列表/系统相关/定时任务-gcron/定时任务-基本使用](组件列表/系统相关/定时任务-gcron/定时任务-基本使用.md) | 在GoFrame框架中使用gcron来管理定时任务。你将学习如何添加、启动、停止、删除和搜索定时任务。此外，还涵盖了单例定时任务、单次定时任务以及运行指定次数的任务等高级功能。这些功能帮助开发者更高效地管理和调试应用内的定时任务，提高应用的性能和可靠性。 |
| [组件列表/系统相关/定时任务-gcron/定时任务-日志管理](组件列表/系统相关/定时任务-gcron/定时任务-日志管理.md) | 在GoFrame框架中的gcron组件中进行日志管理。gcron支持设置日志输出文件和级别，默认记录错误级别日志。通过GoFrame框架的日志组件，用户可以复用日志的所有特性。文章中提供了Go代码示例，展示了如何设置和使用gcron的日志功能。 |
| [组件列表/系统相关/定时任务-gcron/定时任务-表达式](组件列表/系统相关/定时任务-gcron/定时任务-表达式.md) | GoFrame框架中定时任务的cron表达式及其使用技巧。cron表达式由六个字段组成，可实现从秒到周的时间调度。讲解了特殊字符的意义及其在表达式中的应用，通过多种预定义格式和间隔配置，使任务调度更加灵活可靠。 |
| [组件列表/系统相关/定时器-gtimer/定时器-gtimer](组件列表/系统相关/定时器-gtimer/定时器-gtimer.md) | gtimer是一个并发安全的高性能定时器，适用于大批量定时任务和延迟任务场景，支持超时控制和频率控制。gtimer提供多种任务管理方法，包括添加单例和运行一次的任务，并可自定义定时器参数。 |
| [组件列表/系统相关/定时器-gtimer/定时器-基本使用](组件列表/系统相关/定时器-gtimer/定时器-基本使用.md) | 在GoFrame框架中使用定时器组件，包括基本使用、单例任务、延迟任务以及通过SetTimeout和SetInterval方法进行定时操作。详细讲解了这些定时任务的实现方式和执行结果，并展示了如何使用Exit方法退出定时任务。 |
| [组件列表/系统相关/对象信息-gstructs](组件列表/系统相关/对象信息-gstructs.md) | gstructs组件是GoFrame框架中用于获取结构体信息的底层工具。主要用于框架、基础库和中间件编写，支持Fields方法获取结构体字段信息以及TagMapName方法通过标签检索字段。适合开发者在构建Go应用时利用此组件进行字段操作和检索。 |
| [组件列表/系统相关/文件监控-gfsnotify/文件监控-gfsnotify](组件列表/系统相关/文件监控-gfsnotify/文件监控-gfsnotify.md) | 使用GoFrame框架中gfsnotify模块来实现文件和目录的监控。gfsnotify能够检测文件的增加、删除、修改、重命名等变动操作，并提供方便的接口函数如Add和Remove进行监控和取消监控操作。适用于*nix系统的inotify机制，在使用时会受到系统内核参数的限制。通过实例代码展示如何设置、移除监控及进行文件操作监控。 |
| [组件列表/系统相关/文件监控-gfsnotify/文件监控-添加监控](组件列表/系统相关/文件监控-gfsnotify/文件监控-添加监控.md) | 定义与实现文件监控功能，利用GoFrame框架中的gfsnotify库实现对指定目录下文件的创建、写入、删除、重命名和权限修改等事件进行监控。支持递归监控，自动检测目录及子目录中文件的变化，并灵活设置监控选项，实时输出与目录相关的文件事件信息。 |
| [组件列表/系统相关/文件监控-gfsnotify/文件监控-移除监控](组件列表/系统相关/文件监控-gfsnotify/文件监控-移除监控.md) | 本文档详细介绍如何在GoFrame框架中使用Remove方法和RemoveCallback方法来移除对文件和目录的监控回调功能，通过示例代码说明了如何添加和移除监控回调，从而提高系统资源的利用效率，确保文件操作监控的灵活性和可控性。 |
| [组件列表/系统相关/文件监控-gfsnotify/文件监控-系统参数](组件列表/系统相关/文件监控-gfsnotify/文件监控-系统参数.md) | 在Linux系统下gfsnotify模块通过inotify特性实现文件和目录监控，受限于系统内核参数如fs.inotify.max_user_instances和fs.inotify.max_user_watches，通过命令行可以查看和修改这些参数以适应不同的监控需求。 |
| [组件列表/系统相关/文件管理-gfile](组件列表/系统相关/文件管理-gfile.md) | gfile组件为GoFrame框架提供丰富的文件和目录操作功能，包括文件内容读取、缓存机制、文件复制与移动、目录扫描及文件权限设置等。支持灵活的路径操作与内容替换，优化文件管理与处理效率，是开发者进行文件操作的优选库。 |
| [组件列表/系统相关/时间管理-gtime/时间管理-gtime](组件列表/系统相关/时间管理-gtime/时间管理-gtime.md) | gtime模块是GoFrame框架的通用时间管理模块，拓展了Golang标准库time的功能，提供了自定义的日期格式化语法，对PHP的date函数格式有良好兼容性，使PHP开发者在Go中实现时间管理时更加便利。 |
| [组件列表/系统相关/时间管理-gtime/时间管理-工具方法](组件列表/系统相关/时间管理-gtime/时间管理-工具方法.md) | 使用GoFrame框架进行时间管理工具方法，包括获取当前时间戳、日期和时间设置的方法，如Timestamp、Date和SetTimeZone，以及如何通过StrToTime解析常见时间格式字符串为gtime.Time对象。通过GoFrame框架，开发者可以便利地进行多种时间格式转换和时区设置。 |
| [组件列表/系统相关/时间管理-gtime/时间管理-方法介绍](组件列表/系统相关/时间管理-gtime/时间管理-方法介绍.md) | GoFrame框架中与时间管理相关的方法，包括如何创建时间对象、格式化时间、设置时区与获取时间戳等多种功能的实现，可以帮助开发者更加方便地进行时间操作与管理。 |
| [组件列表/系统相关/时间管理-gtime/时间管理-时区设置](组件列表/系统相关/时间管理-gtime/时间管理-时区设置.md) | 使用GoFrame框架中的gtime组件进行全局时区设置，解释SetTimeZone方法的使用限制及注意事项，并提供代码示例展示程序中如何正确管理和转换时间，尤其是在涉及多个时区的业务场景中。 |
| [组件列表/系统相关/时间管理-gtime/时间管理-时间对象](组件列表/系统相关/时间管理-gtime/时间管理-时间对象.md) | 通过GoFrame创建和管理时间对象，包括通过标准库time.Time对象、Unix时间戳、时间字符串等创建gtime.Time对象的方法。同时讲解了如何使用自定义和标准库格式对时间进行格式化，并展示了时间对象的链式操作示例，帮助开发者更高效地处理时间数据。 |
| [组件列表/系统相关/时间管理-gtime/时间管理-时间格式](组件列表/系统相关/时间管理-gtime/时间管理-时间格式.md) | GoFrame框架中的时间管理模块，重点讲解gtime.Time对象的时间格式自定义功能。通过对比标准库time.Time的Format方法，gtime提供了Layout方法以实现标准格式日期转换，同时列出了gtime模块支持的各种时间格式语法的细节，帮助开发者高效管理与转换日期时间。 |
| [组件列表/系统相关/环境变量-genv](组件列表/系统相关/环境变量-genv.md) | GoFrame框架中的genv环境变量管理组件，包括如何批量设置环境变量，以及如何通过命令行选项获取环境变量。当某个环境变量不存在时，支持从命令行选项读取。此外，还涵盖了环境变量的添加、删除、及其命名转换规则等内容。 |
| [组件列表/系统相关/进程管理-gproc/进程管理-gproc](组件列表/系统相关/进程管理-gproc/进程管理-gproc.md) | 通过GoFrame框架的gproc模块实现进程管理和进程间通信的方法。gproc使用本地socket机制进行通信，提供了多种接口如Shell、ShellExec、ShellRun以不同方式执行Shell命令，可以借助goroutine实现异步执行。在本文档中，您将了解到如何使用Manager对象进行多子进程管理，以及如何获取和控制特定的进程资源。 |
| [组件列表/系统相关/进程管理-gproc/进程管理-信号监听](组件列表/系统相关/进程管理-gproc/进程管理-信号监听.md) | 使用GoFrame框架中的gproc组件实现信号监听和处理，从而解决多个组件冗余的信号处理逻辑及程序无法平滑退出的问题。通过统一的信号注册和回调处理，确保各组件能够有效接收到退出信号并进行析构，使信号处理逻辑更加严谨。 |
| [组件列表/系统相关/进程管理-gproc/进程管理-基本使用](组件列表/系统相关/进程管理-gproc/进程管理-基本使用.md) | 在GoFrame框架下进行进程管理，包括如何执行Shell命令、判断主进程与子进程的关系，以及多进程管理的基本用法。通过示例代码演示了gproc包的使用，如创建子进程、管理现有进程，并在Linux环境中实现对特定进程的监控和控制。 |
| [组件列表/系统相关/进程管理-gproc/进程管理-进程通信](组件列表/系统相关/进程管理-gproc/进程管理-进程通信.md) | GoFrame框架中的gproc组件用于进程通信的机制，包括常见的进程通信方式如信号、管道、共享内存等。重点说明了gproc通过Socket实现稳定和通用的进程通信方式，解析了使用Send和Receive方法进行消息传递的基本使用示例。 |
| [组件列表/系统相关/进程管理-gproc/进程管理-链路跟踪](组件列表/系统相关/进程管理-gproc/进程管理-链路跟踪.md) | 使用GoFrame框架进行进程管理和链路跟踪的方法。通过使用OpenTelemetry规范，支持跨进程的链路跟踪特性，非常适用于临时运行的进程。示例代码展示了如何在主进程中启动子进程并进行链路信息传递，展示了GoFrame框架在进程管理中的强大功能。 |
| [组件列表/编码解码/URL编解码-gurl](组件列表/编码解码/URL编解码-gurl.md) | 使用GoFrame框架中的gurl包进行URL编解码操作，包括如何构建URL参数、对URL参数进行编码和解码，以及如何解析URL以获取其不同组件。这些功能对于在Go语言中进行网络编程和数据传输时非常有用，适合有类似需求的开发者参考。 |
| [组件列表/编码解码/二进制编解码-gbinary](组件列表/编码解码/二进制编解码-gbinary.md) | 详细介绍`GoFrame`框架`gbinary`包的二进制数据编解码功能，用于各种数据类型与`[]byte`二进制类型间的相互转换。支持整型数据的精准按位处理，广泛应用于网络通信数据编码/解码和数据文件操作。提供丰富的编解码接口：`Encode`/`Decode`基本类型转换、`EncodeInt/Uint`系列整数编码、`EncodeFloat`浮点数编码、`EncodeBits`按位处理等。自动识别变量长度，确保数据在不同类型和平台间的高效转换。包含完整示例展示基本操作、整数编解码和字符串处理。 |
| [组件列表/编码解码/字符集转换-gcharset](组件列表/编码解码/字符集转换-gcharset.md) | 详细介绍`GoFrame`框架`gcharset`字符编码转换模块，支持常见字符集的相互转换。支持中文字符集（`GBK`/`GB18030`/`GB2312`/`Big5`）、日文（`EUCJP`/`ISO2022JP`/`ShiftJIS`）、韩文（`EUCKR`）、Unicode（`UTF-8`/`UTF-16`/`UTF-16BE`/`UTF-16LE`）以及其他编码（macintosh/IBM*/Windows*/ISO-*）。提供`Convert`方法实现不同字符集之间的灵活转换，满足多语言、多地区用户需求，提升应用程序的国际化与本地化能力。包含完整代码示例展示GB2312到UTF-8的转换过程。 |
| [组件列表/编码解码/经典哈希函数-ghash](组件列表/编码解码/经典哈希函数-ghash.md) | 经典哈希函数在Go语言中的实现，并提供了用于uint32及uint64类型的哈希函数的使用方式。通过GoFrame框架，用户可以更高效地实现哈希功能，文档中包括了详细的接口文档和基准测试结果，帮助用户优化和理解编码性能。同时，通过简单的重复性测试，展示了不同哈希函数的特性和表现。 |
| [组件列表/编码解码/通用编解码-gjson/通用编解码-FAQ](组件列表/编码解码/通用编解码-gjson/通用编解码-FAQ.md) | 在使用GoFrame框架处理JSON数据时可能遇到的大数字精度丢失问题，并提供了具体的解决方案示例代码。通过调整gjson选项，可以避免精度丢失，确保数据的准确性。同时，文中还提供了相关链接供进一步参考。 |
| [组件列表/编码解码/通用编解码-gjson/通用编解码-Struct转换](组件列表/编码解码/通用编解码-gjson/通用编解码-Struct转换.md) | 使用GoFrame框架中的Struct方法将JSON数据转换为指定的数据格式或对象。示例展示了如何解析JSON数据并使用gjson库将其扫描为自定义用户结构体。这种数据格式转换在处理复杂数据结构时非常有用，特别是在Go语言编程中。 |
| [组件列表/编码解码/通用编解码-gjson/通用编解码-gjson](组件列表/编码解码/通用编解码-gjson/通用编解码-gjson.md) | GoFrame框架中的gjson模块，它提供了强大的数据编码和解析功能，支持多种数据格式的相互转换，包括JSON、XML、INI、YAML、TOML等。gjson模块特别适合需要进行数据层级检索和动态创建或修改数据对象的场景，同时它还支持运行时的数据修改功能，是构建网站时的理想选择。 |
| [组件列表/编码解码/通用编解码-gjson/通用编解码-动态创建修改](组件列表/编码解码/通用编解码-gjson/通用编解码-动态创建修改.md) | 使用GoFrame框架中的gjson进行数据的动态创建和修改。gjson不仅可以灵活地解析和检索未知的数据结构，还能够动态地创建和编辑数据内容。通过具体示例，展示了设置数据、创建数组和修改JSON内容的方法，使数据结构的编码和解析更加灵活方便。 |
| [组件列表/编码解码/通用编解码-gjson/通用编解码-对象创建](组件列表/编码解码/通用编解码-gjson/通用编解码-对象创建.md) | 使用GoFrame框架的gjson模块创建Json对象。支持多种数据格式如JSON、XML等，并提供了New和Load*方法供使用者调用。详细展示了通过JSON、XML和结构体对象创建Json对象的方法，并提供了示例代码帮助开发者理解和应用。 |
| [组件列表/编码解码/通用编解码-gjson/通用编解码-层级访问](组件列表/编码解码/通用编解码-gjson/通用编解码-层级访问.md) | 在GoFrame框架中使用gjson进行层级访问，通过灵活的层级分隔符访问未知数据结构。包括设置自定义分隔符号，以及处理键名本身带有层级符号的情况。此外，讨论了涉及Go语言中的引用类型变量修改及其对底层数据的影响。 |
| [组件列表/编码解码/通用编解码-gjson/通用编解码-数据格式转换](组件列表/编码解码/通用编解码-gjson/通用编解码-数据格式转换.md) | 使用GoFrame框架进行数据格式转换，包括JSON、XML、YAML、TOML等多种格式的相互转换，并提供一个示例代码。使用gjson库，可以利用Must*方法确保数据格式的安全转换。 |
| [组件列表/编码解码/通用编解码-gjson/通用编解码-方法介绍](组件列表/编码解码/通用编解码-gjson/通用编解码-方法介绍.md) | 使用GoFrame框架进行通用编解码的多种方法，包括Json对象的创建、数据访问和格式转换等。提供了包括New、Load、Encode、Decode等方法的详细说明和示例代码，有助于理解如何在GoFrame中高效处理各种数据格式。 |
| [组件列表/网络组件/TCP组件/TCP组件-TLS加密](组件列表/网络组件/TCP组件/TCP组件-TLS加密.md) | 使用GoFrame框架的gtcp模块在安全性要求较高的环境中实现TLS加密通信。通过提供的示例代码，我们讲解了如何创建TLS服务端和客户端，如何使用证书进行数据加密传输，以及如何处理可能出现的证书过期问题。这对于需要安全传输数据的开发者来说至关重要。 |
| [组件列表/网络组件/TCP组件/TCP组件-工具方法](组件列表/网络组件/TCP组件/TCP组件-工具方法.md) | GoFrame框架中的gtcp模块和一些常用的工具方法，通过这些方法可以实现TCP连接的创建、TLS安全加密通信以及数据发送和接收的功能，并提供了一个具体示例展示如何通过TCP访问指定的Web站点。 |
| [组件列表/网络组件/TCP组件/TCP组件-连接对象/TCP组件-连接对象](组件列表/网络组件/TCP组件/TCP组件-连接对象/TCP组件-连接对象.md) | 此页面介绍了GoFrame框架中的gtcp模块及其提供的TCP连接对象的使用方法。包括如何使用gtcp.Conn进行可靠的TCP通信，处理数据的发送和接收。文中还描述了超时处理机制以及通过简单示例演示如何使用这些功能，展示如何在GoFrame环境下灵活进行网络编程。 |
| [组件列表/网络组件/TCP组件/TCP组件-连接对象/连接对象-消息包处理](组件列表/网络组件/TCP组件/TCP组件-连接对象/连接对象-消息包处理.md) | 使用gtcp模块及其封包解包处理功能解决TCP消息协议的粘包问题。通过使用GoFrame框架的简单轻量级数据交互协议，开发者可以更轻松地进行消息包交互，无需关注复杂的封包解包细节。此外，文档还提供了多个使用示例，以帮助开发者更好理解和实现自定义数据结构的消息传递。 |
| [组件列表/网络组件/TCP组件/TCP组件-连接对象/连接对象-通信开发进阶](组件列表/网络组件/TCP组件/TCP组件-连接对象/连接对象-通信开发进阶.md) | 在GoFrame框架下使用gtcp实现异步全双工通信的高级开发。通过完整示例展示了如何在程序中处理长连接，利用SendPkg和RecvPkg方法进行数据传输，并确保并发安全。 |
| [组件列表/网络组件/TCP组件/TCP组件-连接池特性](组件列表/网络组件/TCP组件/TCP组件-连接池特性.md) | GoFrame框架中的gtcp模块连接池特性，通过gtcp.PoolConn实现的连接池具有600秒的固定存活时间，并具备数据发送时的断开重连机制，适用于频繁短链接操作和高连接并发的场景。文章提供了两个示例，演示了连接池的基础使用及断开重连操作，帮助用户深刻理解连接池在网络编程中的实际应用。 |
| [组件列表/网络组件/TCP组件/TCP组件](组件列表/网络组件/TCP组件/TCP组件.md) | GoFrame框架中的gtcp模块，该模块实现了简便易用、轻量级的TCPServer服务端。通过使用gtcp，用户可以轻松创建和管理TCP服务，并支持高并发连接。文档中提供了简单的代码示例，以演示如何使用gtcp模块创建一个基本的echo服务器。 |
| [组件列表/网络组件/UDP组件/UDP组件-工具方法](组件列表/网络组件/UDP组件/UDP组件-工具方法.md) | 使用GoFrame框架中的gudp模块进行UDP通信的常用工具方法，包括如何通过NewNetConn创建UDP连接，使用Send和SendRecv方法进行数据传输，以及使用*Pkg方法简化数据包协议传输。 |
| [组件列表/网络组件/UDP组件/UDP组件-连接对象](组件列表/网络组件/UDP组件/UDP组件-连接对象.md) | 使用GoFrame框架进行UDP组件开发，特别是gudp.Conn连接对象的使用。文中提供了详细的函数接口说明以及一个完整的客户端与服务端通信的示例代码，帮助开发者快速掌握UDP连接对象的具体操作和应用场景。 |
| [组件列表/网络组件/UDP组件/UDP组件](组件列表/网络组件/UDP组件/UDP组件.md) | GoFrame框架中的UDP组件，使用gudp.Server和gudp.Conn实现UDP协议的简单不可靠信息传送服务。通过示例代码展示如何创建和运行UDP服务器，并提供了相关接口文档链接供参考。 |
| [项目部署/代理部署](项目部署/代理部署.md) | 介绍使用Nginx作为反向代理的前端接入层来部署GoFrame框架应用的代理部署方案。通过配置静态文件后缀（gif、jpg、png、js、css等）或目录（public等），有效分离静态和动态请求，提高性能。配置示例展示WebServer请求转发至Golang应用，实现专业性的部署方案，适用于需要多域名配置、负载均衡等复杂场景。 |
| [项目部署/容器部署](项目部署/容器部署.md) | 介绍GoFrame应用的Docker化容器部署方式，包括交叉编译Golang程序（CGO_ENABLED=0 GOOS=linux GOARCH=amd64）、基于alpine镜像构建Docker镜像（约20MB）、镜像运行与分发（Docker Hub、阿里云ACR）以及容器编排（Kubernetes、Docker Swarm）。这是云服务时代最流行且最推荐的部署方式，适用于企业级生产环境。 |
| [项目部署/独立部署](项目部署/独立部署.md) | 介绍如何独立部署使用GoFrame框架开发的应用程序，适用于*nix系列服务器（Linux、MacOS、*BSD）和Windows系统。详细讲解在Ubuntu等Linux系统上使用nohup、tmux、supervisor、systemctl、screen等工具设置后台守护进程和进程管理的方法，以及在Windows系统上使用NSSM工具的相关配置。这种独立部署模式常用于简单的API服务项目，通过各种工具实现应用程序的后台运行、自动重启和状态监控。 |
| [快速开始/Hello World](快速开始/Hello%20World.md) | 使用GoFrame框架构建一个简单的Hello World Web Server。GoFrame是一款模块化的Go语言框架，提供方便的Web服务器构建方式。本文详细解析了代码示例，包括Server对象的创建、路由绑定、端口设置及运行结果的解读，为初学者提供了一条快速入门的路径。 |
| [快速开始/What's Next](快速开始/What's%20Next.md) | 快速了解Web Server接口的开发流程和特性，通过查看开发手册章节解决疑惑。GoFrame是低耦合、模块化设计的框架，各模块设计独立，文档独立编写。社区提供入门视频教程，后续将使用GoFrame框架项目脚手架开发完整业务项目。 |
| [快速开始/下载与使用](快速开始/下载与使用.md) | GoFrame框架的快速开始指南。GoFrame是一款模块化、低耦合设计的开发框架，包含常用基础组件和开发工具，适用于完整业务项目和独立组件库。内容涵盖GoFrame的下载与安装、运行基本操作，并介绍如何开发简易Web Server接口应用。 |
| [快速开始/中间件初试用](快速开始/中间件初试用.md) | 在GoFrame框架中使用中间件来拦截请求和返回结果，通过前置和后置中间件实现自定义的处理逻辑。示例代码展示了如何定义错误处理中间件，并在路由中绑定。中间件使得请求错误处理和输出格式统一化变得灵活且强大。 |
| [快速开始/使用规范路由](快速开始/使用规范路由.md) | 在GoFrame框架中使用规范路由，以简化路由注册，聚焦业务逻辑。通过定义请求和响应的数据结构，标准化路由注册，并使用对象化的方式管理路由，提升代码的可维护性。提供了完整的示例代码和执行结果指导读者在实际项目中应用。 |
| [快速开始/生成接口文档](快速开始/生成接口文档.md) | 使用GoFrame框架，可以轻松生成标准化的接口文档。本文介绍了如何通过完善接口定义，结合OpenAPIv3协议和Swagger UI，自动生成和展示接口文档。在代码示例中详细讲解了接口的数据结构定义、路由中间件的设置以及如何使用GoFrame框架特性优化接口文档生成过程。 |
| [快速开始/统一返回结构](快速开始/统一返回结构.md) | 使用GoFrame框架统一接口返回结构，以JSON格式返回数据，定义接口数据结构和路由函数，使用中间件处理执行结果，并提供完整的示例代码。通过这些方法，可以在业务项目中实现统一的数据格式封装，简化接口文档的生成和维护过程。 |
| [快速开始/获取请求参数](快速开始/获取请求参数.md) | 使用GoFrame框架在Web Server中获取客户端提交的请求参数，重点讲解通过r.Get方法处理Query String、Form和Body等HTTP方法提交的参数。学习内容包括参数默认值处理及参数类型自动识别。通过示例代码详细展示如何在GoFrame中接收和处理参数，并对常见问题进行分析，为后续章节对参数对象的结构化处理奠定基础。 |
| [快速开始/请求数据结构](快速开始/请求数据结构.md) | 通过数据结构化解决参数名称硬编码问题，介绍了如何定义请求对象以接收客户端参数，通过GoFrame框架实现参数映射与校验，提高代码可维护性。同时，示例程序展示了避免冗余校验逻辑的方法，探讨了更简洁的解决方案。 |
| [项目脚手架/基本介绍](项目脚手架/基本介绍.md) | 使用GoFrame框架的脚手架来构建一个简单且完整的业务项目。内容涵盖框架工具的安装与验证、创建工程项目模板、项目模板的运行以及如何升级框架版本等重要步骤。项目模板默认支持HTTP Web Server，并提供接口文档展示与Swagger页面查看功能。 |
| [项目脚手架/接口开发/Step1 - 设计数据表](项目脚手架/接口开发/Step1%20-%20设计数据表.md) | 设计和应用MySQL数据表。我们通过定义用户信息的数据表结构并结合Docker运行MySQL进行数据表的实践操作，包括创建表结构和应用SQL语句，帮助您快速掌握数据库操作技能。 |
| [项目脚手架/接口开发/Step2 - 生成dao_do_entity](项目脚手架/接口开发/Step2%20-%20生成dao_do_entity.md) | 使用GoFrame框架中的脚手架工具进行数据访问对象的自动生成，确保CLI工具配置正确，然后通过命令执行代码生成，创建数据库表后生成相应的dao、do和entity文件，以简化数据表的CRUD操作。展示了具体的文件结构和使用方式，以及不同类型文件的生成原理。 |
| [项目脚手架/接口开发/Step3 - 编写api接口定义](项目脚手架/接口开发/Step3%20-%20编写api接口定义.md) | 在项目的api目录下定义CRUD接口，采用RESTful风格的接口设计，使用HTTP Method来规范接口请求。接口定义中使用g.Meta管理元数据信息，包括路由地址、请求方式和接口描述。请求参数和返回数据结构体定义了详细的参数校验规则。接口版本控制上开始使用v1版本，以便维护未来的兼容性。接口参数采用灵活接收方式，满足接口请求的多样化需求。 |
| [项目脚手架/接口开发/Step4 - 生成controller代码](项目脚手架/接口开发/Step4%20-%20生成controller代码.md) | 根据API定义生成控制器代码，包括API接口文件、路由对象管理及路由实现代码等内容，利用GoFrame框架的命令工具快速生成相关代码模板，确保接口的完整实现，并展示如何通过一个个文件实现具体业务逻辑。 |
| [项目脚手架/接口开发/Step5 - 完成接口逻辑实现](项目脚手架/接口开发/Step5%20-%20完成接口逻辑实现.md) | 使用GoFrame框架完成接口逻辑实现。通过项目脚手架，预先生成了与项目业务逻辑无关的代码，集中在业务逻辑实现。介绍了CRUD操作的具体实现过程，包括创建、更新、删除和查询接口的实现方法。详细阐述了数据操作过程中对参数的校验、表单数据的插入与更新、数据的智能映射和校验机制，以及如何高效地利用GoFrame框架的功能进行开发。 |
| [项目脚手架/接口开发/Step6 - 配置与路由](项目脚手架/接口开发/Step6%20-%20配置与路由.md) | 引入mysql数据库驱动、添加数据库配置和路由注册步骤。详细说明了脚手架项目模板中的配置，包括工具配置和业务配置，以及如何进行配置文件的修改。 |
| [项目脚手架/接口开发/Step7 - 启动与测试](项目脚手架/接口开发/Step7%20-%20启动与测试.md) | 通过命令行启动服务，并使用swagger生成接口文档。支持创建用户、查询用户信息、修改用户数据以及删除用户的RESTful API接口。同时支持使用curl命令进行接口测试，提供详细的校验规则和错误码以确保数据的准确性和可靠性。 |
| [项目脚手架/项目启动](项目脚手架/项目启动.md) | 当您开始第一个项目时，可能对工程目录感到困惑，但通过本章节，您可以了解项目的启动过程及其涉及的目录。主要程序入口为main.go，通过调用internal/cmd包引导程序启动。默认创建的HTTP Server支持多种路由注册，使项目启动简单快捷。具体使用细节可参阅GoFrame框架的相关文档。 |
