我正在尝试查询测试键空间,例如:

package main

import "fmt"
import  _ "github.com/gocql/gocql"

var (
    gocql string
)

func main() {
    // connect to the cluster
    cluster := gocql.NewCluster("127.0.0.1")
    cluster.Keyspace = "dbaccess"
    session, _ := cluster.CreateSession()
    defer session.Close()

    if err := session.Query("SELECT name, age FROM people WHERE name='doug'").Scan(&name, &age); err != nil {
        log.Fatal(err)
    }
    fmt.Println(name, age)
}

但是我收到一个类似的错误:
12: gocql.NewCluster undefined (type string has no field or method NewCluster)

这是否意味着它试图指向gocql/gocql文件夹中的方法但找不到该方法,或者导入东西的语法是否错误?

最佳答案

我认为您的问题是您在此处将gocql var声明为字符串:

var (
    gocql string
)

您只需要删除它,它就可以解决该特定问题。

另外,您的导入声明:
import  _ "github.com/gocql/gocql"

不应该包含下划线(_),因为您明确使用了gocql,而不仅仅是因为其副作用而导入。

关于go - golang gocql.NewCluster未定义没有字段或方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34779824/

10-13 02:48