登录
首页 >  Golang >  Go问答

这段go代码使用thrift生成,其含义是什么?

来源:stackoverflow

时间:2024-02-28 14:03:25 104浏览 收藏

在Golang实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天golang学习网就整理分享《这段go代码使用thrift生成,其含义是什么?》,聊聊,希望可以帮助到正在努力赚钱的你。

问题内容

这是由thrift官方教程生成的一段代码: https://thrift.apache.org/tutorial/go

我是新手,无法从评论中猜测代码的用途。

在 google 上搜索了一些关键字,但没有成功。

package tutorial

import(
    "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.ZERO
var _ = fmt.Printf
var _ = context.Background
var _ = reflect.DeepEqual
var _ = bytes.Equal

解决方案


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

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

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

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

(这就是评论短语:

naive import list construction

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

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于Golang的相关知识,也可关注golang学习网公众号。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>