Не могу запустить пример
Я пытаюсь запустить аэроспайк го пример:
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
и он загрузил пакет на диск.
Вы можете помочь?
1 ответ
Вы можете увидеть в проекте aerospike/aerospike-client-go
тесты как example_listiter_int_test.go
который:
импортировать проект с:
as "github.com/aerospike/aerospike-client-go"
используйте NewClient с правильным префиксом:
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
является псевдонимом для имени пакета, так как, как упоминалось в " Вызов функции из другого пакета в Go ":
Вы импортируете пакет по его пути импорта и ссылаетесь на все его экспортированные символы (начинающиеся с заглавной буквы) через имя пакета,
поскольку NewClient
в client.go
из package aerospike
альтернативой будет:
client, err := aerospike.NewClient("127.0.0.1", 3000)