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

如何制作自己的枚举

如何制作自己的枚举

Go
HUX布斯 2023-03-29 17:27:20
我是 GoLang 的新手,正在寻求帮助。我正在使用 Windows 10 和 Visual Studio Code。Enums我想要做的是在我的文件中使用main.go。我为它创建了一个名为“Enums”的文件夹,并在其中命名的文件SQLQuerys.go如下所示:package SqlQuerystype SqlQuery stringconst (CreateTable SqlQuery = `CREATE TABELE key.users(id int, email text, title text, content text, magic_number int, PRIMARY KEY(id));`)所以我想在函数中传递一个简单的字符串,main.go看起来像这样(我评论的查询工作正常):package mainimport (    "log"    SqlQuerys "golangapi/Enums" //import enums here    "github.com/gocql/gocql")func main() {    // connect to the cluster    cluster := gocql.NewCluster("127.0.0.1")    cluster.ProtoVersion = 3    cluster.Keyspace = "key"    cluster.Consistency = gocql.Quorum    session, _ := cluster.CreateSession()    defer session.Close()    //if err := session.Query(`CREATE TABEL IF NOT EXISTS key.users(id int, email text, title text, content text, magic_number int, PRIMARY KEY(id));`).Exec(); err != nil {    //  log.Fatal(err)    //}    if err := session.Query(SqlQuerys.CreateTable).Exec(); err != nil {        log.Fatal(err)    }}如何将一个 GoLang 文件导入到另一个文件?调试后,我收到此错误:main.go:6:2: cannot find package "golangapi/Enums" in any of:C:\Go\src\golangapi\Enums (from $GOROOT)C:\Users\Admin\go\src\golangapi\Enums (from $GOPATH)exit status 1如何在另一个文件中看到另一个 .go 文件?感谢您的任何建议
查看完整描述

1 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

Go 更像是地道的Java。虽然在 Java 中技术上您可以混合和匹配文件中的名称空间声明与目录结构,但通常它们需要匹配。在 Go 中,它们必须匹配才能正常工作。您的导入路径(在import语句中使用)必须匹配可以从中检出库的存储库,或者磁盘上的起始路径$GOPATH/src(通常应该是相同的)。包名称(在package语句中使用)应与路径的最后部分(包含文件的目录的名称)相匹配。没有从一个文件到另一个文件的引用,只有从一个文件到一个包(就像 Java)。所以,以你的例子为例:


$GOPATH

 - src/

   - golangapi/

     - main.go

     - enums/

       - sqlqueries.go

主要去:


package main


import (

    "log"

    "golangapi/enums"

    "github.com/gocql/gocql"

)

...

if err := session.Query(enums.CreateTable).Exec(); err != nil {

    log.Fatal(err)

}

sqlqueries.go:


package enums


type SqlQuery string


const (


CreateTable SqlQuery = `CREATE TABELE key.users(id int, email text, title text, content text, magic_number int, PRIMARY KEY(id));`


)


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

添加回答

举报

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