从函数返回gocql的会话变量

时间:2014-05-08 00:07:06

标签: go cassandra cql

我有以下gocql连接。

 //cassandra connection
  cluster := gocql.NewCluster("localhost")
  cluster.Keyspace = "demo"
  cluster.DefaultPort = 9042
  cluster.Consistency = gocql.Quorum
  session, _ = cluster.CreateSession()
  defer session.Close()

我想把它放在golang函数中并返回会话变量,但我不知道它的数据类型。我尝试返回 *会话,但它给了我一个错误。不知道怎么做。

2 个答案:

答案 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