• 你好!欢迎你的到来
  • 关于我们
  • 首页 博客 学习笔记 技术导航 工具
  • 博文分类
    • PHP(43)
    • MySQL(11)
    • Linux(28)
    • html(3)
    • JQuery(4)
    • JavaScript(9)
    • svn(2)
    • CSS(2)
    • seajs(1)
    • go(44)
    • redis(1)
    • nginx(8)
    • mongo(0)
    • es(0)
    • 算法(0)
    • 其他(26)
    • 生活(1)
    专栏
    • Jquery基础教程
      • 文章:(15)篇
      • 阅读:17005
    • shell命令
      • 文章:(42)篇
      • 阅读:58049
    • Git教程
      • 文章:(36)篇
      • 阅读:114512
    • leetCode刷题
      • 文章:(37)篇
      • 阅读:14417
    • 摘要视图
    • 目录视图
    go语言报错import cycle not allowed
    2018-06-24 11:13 阅读(6061) 评论(0)

    一、报错描述

    今天,在使用go写个简单的demo时候,报错“import cycle not allowed”,文件架构如下:

    其中,main.go里面调用了 consoles/sacn_nginx_log.go中的方法,sacn_nginx_log.go调用了models/model.go中的方法,在models/model.go中,使用了sacn_nginx_log.go中的变量。

    sacn_nginx_log.go中头文件为:

    import (
       "fmt"
       "ops_tools_go/models"
       "ops_tools_go/conf"
       "ops_tools_go/libs"
       "time"
       "sync"
       "os"
       "bufio"
       "io"
       "strings"
       "net/url"
       "strconv"
       "regexp"
    )

    models/model.go中的头文件为:

    import (
       "ops_tools_go/console"
       "database/sql"
       _"github.com/go-sql-driver/mysql"
       "ops_tools_go/conf"
    )

    然后就报错:

    也就是说,在go语言中,如果package A依赖package B,同时 package B 依赖package A,那么就会报错“import cycle not allowed”。

    二、解决方案

    针对,package A依赖package B,同时 package B 依赖package A的情况,我们可以引入一个package C,来解决,让package A和package B同事依赖于package C即可。


    本文为原创文章,请尊重辛勤劳动,如需转载,请保留本文地址
    http://www.findme.wang/blog/detail/id/481.html

    若您感觉本站文章不错,读后有收获,不妨赞助一下?

    我要赞助

    您还可以分享给朋友哦

    更多
    顶
    1
    踩
    2
    • 上一篇: 详解如何在nginx配置文件中引入ip限制文件
    • 下一篇: go语言中格式化输出fmt包的使用
    • 查看评论
    • 正在加载中...
    • 留言
    • 亲,您还没有登录,登录后留言不需要审核哦!
      可以使用如下方式登录哦!
  • CSDN | 新浪微博 | github | 关于我们 | 我要留言 | 友链申请
  • 豫ICP备18038193号    Copyright ©lidequan All Rights Reserved