如何制作自己的枚举

时间:2018-09-07 13:01:37

标签: go

我是GoLang的新人,正在寻求帮助。我正在使用Windows 10和Visual Studio Code。

我想做的是在Enums文件中使用main.go。我为其创建了一个名为“ Enums”的文件夹,并在其中命名为SQLQuerys.go,如下所示:

package SqlQuerys

type SqlQuery string

const (

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

)

因此,我想在main.go中传递函数的方式是一个简单的字符串,它看起来像这样(我评论正常的查询):

package main

import (
    "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 个答案:

答案 0 :(得分:0)

Go更像是惯用 Java。从技术上讲,虽然您可以使用目录结构混合并匹配文件中的名称空间声明,但通常需要匹配它们。在Go中,必须 匹配它们才能正常工作。您的导入路径(在<tr *ngFor="let stock of inventory | paginate: { itemsPerPage: 10, currentPage: page }, index as id " [ngClass]="{ 'bg-warning': stock.in_stock <= stock.minimum_stock }"> <td>{{id+1}}</td> <td>{{stock.product_name}}</td> <td class="text-center"> {{stock.in_stock}} <span *ngIf="stock.in_stock < stock.minimum_stock"> <i class="fas fa-exclamation-triangle" placement="bottom" ngbTooltip="The product on your inventory is less to minimum stock declared."></i> </span> </td> <td class="text-center">{{stock.minimun_stock}}</td> <td>{{stock.warehouese_name}}</td> <td>{{stock.ubication_name}}</td> <td class="text-right">{{stock.product_cost | currency}}</td> <td class="text-right">{{stock.product_cost * stock.in_stock | currency}}</td> <td class="text-center"> <button type="button" class="btn btn-warning btn-sm" data-toggle="modal" data-target="#modalConsultProduct"> Consult </button> </td> </tr> 语句中使用)必须与可以从中检出库的存储库相匹配,或者必须与从/** * NOTE: Run npm on development: */ { on("dev", (conf) -> { String nodeVersion = conf.getString("admin.node.version"); String yarnVersion = conf.getString("admin.yarn.version"); String installDir = conf.getString("admin.install.dir"); String ws = conf.getString("admin.ws"); Yarn y = new Yarn(nodeVersion, yarnVersion); y.installDirectory(Paths.get(installDir)); y.workDirectory(Paths.get(ws)); use(y.onStart(yarn -> { yarn.execute("run", "run-rw-tools"); })); }); } 开始的磁盘上的路径相匹配(通常应该是相同的)。软件包名称(在import语句中使用)应与路径的最后一部分(包含文件的目录名称)匹配。没有从一个文件到另一个文件的引用,只有从一个文件到 package 的引用(就像Java)。因此,以您的示例为例:

$GOPATH/src

main.go:

package

sqlqueries.go:

$GOPATH
 - src/
   - golangapi/
     - main.go
     - enums/
       - sqlqueries.go