iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >聊聊Go中的循环依赖检测工具(go-cyclic)
  • 231
分享到

聊聊Go中的循环依赖检测工具(go-cyclic)

Go 2023-05-14 20:05:55 231人浏览 安东尼
摘要

本篇文章给大家介绍有关golang的相关知识,聊聊开源Go中的一个循环依赖检测工具(go-cyclic) ,希望对大家有所帮助。go-cyclic 循环依赖解决工具问题描述 作为一个 Go 开发者,经常会在大型项目中遇到包的循环依

本篇文章给大家介绍有关golang的相关知识,聊聊开源Go中的一个循环依赖检测工具(go-cyclic) ,希望对大家有所帮助。

go-cyclic 循环依赖解决工具

问题描述

作为一个 Go 开发者,经常会在大型项目中遇到包的循环依赖问题。
如果 Golang 出现循环依赖,那么会在编译时抛出异常。

什么时候会出现循环依赖?

如果有两个包:package a 和 package b。当在包a依赖包b,包b依赖包a时,就会产生循环依赖。真实情况可能会更复杂一些。例如,如包a依赖包b,包b依赖包c,包c又依赖包a时,形成一个环。
613af3cab6c10e8bc8a54ab58e438f6.jpg15bf46aa85db4505bf76d96025c5f12.jpg

import cycle not allowed

而且如果项目很大的时候,一个包下面有很多 .go 文件,只提示包与包的循环引用(如上图),是很难定位到哪个 .go 文件和哪个 .go 文件直接进行了循环引用,难以排查。

go-cyclic 简单用法

GitHub地址:github.com/elza2/go-cyclic (欢迎各位大佬提 pr)

go-cyclic 可以用来检查项目是否存在循环依赖,并且可以定位到具体的 .go 文件。帮助快速定位循环问题。

快速开始

go install github.com/elza2/go-cyclic@latest
# path 路径要设置为 go.mod 文件所在的路径.go-cyclic gocyclic --dir .path
# success output.Success. Not circular dependence.# failed output.Failed. 1 circular dependence chains were found.┌---→    app.go┆          ↓
┆       routes.go┆          ↓
└---    handler.go

3e7f1b117b71ee5ef154a0c322d7073.jpg

以上就是聊聊Go中的循环依赖检测工具(go-cyclic)的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: 聊聊Go中的循环依赖检测工具(go-cyclic)

本文链接: https://www.lsjlt.com/news/203426.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 聊聊Go中的循环依赖检测工具(go-cyclic)
    本篇文章给大家介绍有关Golang的相关知识,聊聊开源Go中的一个循环依赖检测工具(go-cyclic) ,希望对大家有所帮助。go-cyclic 循环依赖解决工具问题描述 作为一个 Go 开发者,经常会在大型项目中遇到包的循环依...
    99+
    2023-05-14
    Go
  • Go中的循环依赖检测工具go-cyclic怎么使用
    本篇内容主要讲解“Go中的循环依赖检测工具go-cyclic怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Go中的循环依赖检测工具go-cyclic怎么使用”吧!go-cyclic 循环...
    99+
    2023-07-04
  • 基于NPM的GO语言依赖管理工具有哪些?
    随着Go语言的流行,越来越多的人开始使用它来开发应用程序。但是,与其他语言一样,Go语言也需要管理依赖项。为了解决这个问题,人们开始使用NPM来管理Go语言的依赖项。本文将介绍基于NPM的Go语言依赖管理工具。 dep dep是一个Go...
    99+
    2023-06-21
    响应 容器 npm
  • Go语言官方依赖注入工具Wire的使用教程
    目录1. 前言2. 依赖注入(DI)是什么3. Wire Come3.1 简介3.2 快速使用3.3 基础概念4. Wire使用实践4.1 基础使用4.2 高级特性4.3 高阶使用5...
    99+
    2024-04-02
  • Go语言中常用的性能测试工具和技术
    go语言性能测试工具和技术包括:go/testing:内置测试框架,可用于编写性能测试。benchstat:分析和比较基准测试结果的工具。pprof:分析cpu和内存 профилиро...
    99+
    2024-05-07
    go语言 性能测试
  • 深入探索Go语言在压测工具中的应用
    Go语言,作为一种高效、快速的编程语言,一直被广泛应用在服务器端开发、云计算、网络编程等领域。除此之外,Go语言在压测工具中的应用也备受关注。压测工具是用于模拟大量用户访问服务器,以评...
    99+
    2024-03-10
    go语言 探索 压测工具 网络编程 标准库
  • 为什么可以在 CI 环境中运行 Go 测试和构建而无需先安装依赖项?
    在CI环境中运行Go测试和构建时,无需先安装依赖项的原因是因为CI(持续集成)工具可以在每次构建时自动下载和安装所需的依赖项。这样做的好处是可以减轻开发人员的负担,不需要手动维护依赖项...
    99+
    2024-02-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作