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

我是新手,用谷歌搜索了一些关键词,但没有成功。

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


肥皂起泡泡
浏览 99回答 1
1回答

米琪卡哇伊

您正在查看的代码是由计算机程序生成的。这个特定的计算机程序有缺陷/愚蠢:它导入在某些情况下不需要导入的包,以防万一它生成需要导入这些包的不同代码。换句话说,在查看它将生成什么代码之前,它只是导入了一堆东西。为了弥补这个缺陷,在导入它可能不会使用的东西之后,它有一些var声明使Go编译器认为这些东西被使用,这样编译器就不会抱怨(例如)fmt或bytes不需要导入。更智能的代码生成器将检查它将要生成的代码,找出实际需要哪些导入,然后发出这些导入并跳过虚拟行var。(这就是评论短语:naive import list construction意味着:代码生成器天真地生成了一组特定的导入,而不查看它生成的其余代码。)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go