You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Move包迁移至新位置后,如何保留旧路径的导出?

可以保留旧导入路径,具体这么做就行

在旧路径x/y下创建一个转发文件(比如叫forward.go),把新包x/abc/y的所有公开内容原样导出,依赖旧路径的项目就能无缝继续使用。

举个例子,转发文件的内容大概是这样:

// Deprecated: 请迁移到 x/abc/y 包
package y

import newY "x/abc/y"

// 转发变量
var (
    Config = newY.Config
    DefaultLogger = newY.DefaultLogger
)

// 转发类型(用类型别名)
type (
    User = newY.User
    Handler = newY.Handler
)

// 转发函数
func Init() {
    newY.Init()
}

func Process(data string) error {
    return newY.Process(data)
}

注意事项

  • 旧路径下的包名必须和原来保持一致(这里是y),不然依赖项目会报编译错误。
  • 后续新包如果新增了公开标识符,记得同步更新这个转发文件,不然用旧路径的项目没法用到新功能。
  • 加上Deprecated注释能提醒依赖方尽快切换到新路径,避免后续维护麻烦。

内容的提问来源于stack exchange,提问作者karjan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 06:29:59