我正在尝试运行一个aerospike示例:
package main
import (
"github.com/aerospike/aerospike-client-go"
"fmt"
)
func panicOnError(err error) {
if err != nil {
panic(err)
}
}
func main() {
// define a client to connect to
client, err := NewClient("127.0.0.1", 3000)
panicOnError(err)
key, err := NewKey("test", "aerospike", "key")
panicOnError(err)
// define some bins with data
bins := BinMap{
"bin1": 42,
"bin2": "An elephant is a mouse with an operating system",
"bin3": []interface{}{"Go", 2009},
}
// write the bins
err = client.Put(nil, key, bins)
panicOnError(err)
// read it back!
rec, err := client.Get(nil, key)
panicOnError(err)
fmt.Printf("%#v\n", *rec)
// delete the key, and check if key exists
existed, err := client.Delete(nil, key)
panicOnError(err)
fmt.Printf("Record existed before delete? %v\n", existed)
}但我得到一个错误:
Unresolved reference NewClient...
and many more...我已经运行了这个命令:
go get github.com/aerospike/aerospike-client-go并且它已经下载了磁盘上的包。
你能帮上忙吗?
发布于 2017-07-16 15:18:26
您可以在项目中看到像example_listiter_int_test.go这样的aerospike/aerospike-client-go测试:
作为具有正确前缀的"github.com/aerospike/aerospike-client-go"
var v as.Value = as.NewValue(myListInt([]int{1,2,3}))
所以别忘了给NewClient加上前缀。
在您的案例中:
import (
as "github.com/aerospike/aerospike-client-go"
"fmt"
)和:
client, err := as.NewClient("127.0.0.1", 3000)as是包名的别名,因为,如“Call a function from another package in Go”中所述:
您通过导入路径导入包,并通过包名引用所有导出的符号(以大写字母开头的符号)。
由于package aerospike的NewClient is in client.go,另一种选择是:
client, err := aerospike.NewClient("127.0.0.1", 3000)https://stackoverflow.com/questions/45126014
复制相似问题