我有以下gocql连接。
//cassandra connection
cluster := gocql.NewCluster("localhost")
cluster.Keyspace = "demo"
cluster.DefaultPort = 9042
cluster.Consistency = gocql.Quorum
session, _ = cluster.CreateSession()
defer session.Close()
我想把它放在golang函数中并返回会话变量,但我不知道它的数据类型。我尝试返回 *会话,但它给了我一个错误。不知道怎么做。
答案 0 :(得分:2)
根据文档(http://godoc.org/github.com/gocql/gocql#ClusterConfig.CreateSession),类型为*gocql.Session
。但是,我会注意到,如果您推迟session.Close()
调用,它将在您返回后立即运行,这意味着您将永远不会返回有效连接。您必须在调用函数中关闭会话。
答案 1 :(得分:0)
cluster.CreateSession()
返回*gocql.Session, error
也许如果你可以分享你的实际代码并告诉我们你得到的错误,这个问题会更容易回答。
顺便说一句,有更多涉及问题的mailing list,以及Github上的issue tracker。