为了账号安全,请及时绑定邮箱和手机立即绑定

thrift生成的这段go代码的含义是什么

thrift生成的这段go代码的含义是什么

Go
肥皂起泡泡 2023-07-31 16:21:31
我是新手,用谷歌搜索了一些关键词,但没有成功。package tutorialimport(    "bytes"    "context"    "reflect"    "database/sql/driver"    "errors"    "fmt"    "github.com/apache/thrift/lib/go/thrift"    "shared")// (needed to ensure safety because of naive import list construction.)var _ = thrift.ZEROvar _ = fmt.Printfvar _ = context.Backgroundvar _ = reflect.DeepEqualvar _ = bytes.Equal
查看完整描述

1 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

您正在查看的代码是由计算机程序生成的。

这个特定的计算机程序有缺陷/愚蠢:它导入在某些情况下不需要导入的包,以防万一它生成需要导入这些包的不同代码。换句话说,在查看它将生成什么代码之前,它只是导入了一堆东西。

为了弥补这个缺陷,在导入它可能不会使用的东西之后,它有一些var声明使Go编译器认为这些东西使用,这样编译器就不会抱怨(例如)fmtbytes不需要导入。

更智能的代码生成器将检查它将要生成的代码,找出实际需要哪些导入,然后发出这些导入并跳过虚拟行var

(这就是评论短语:

naive import list construction

意味着:代码生成器天真地生成了一组特定的导入,而不查看它生成的其余代码。)


查看完整回答
反对 回复 2023-07-31
  • 1 回答
  • 0 关注
  • 97 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信