Не могу запустить пример

Я пытаюсь запустить аэроспайк го пример:

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)
Другие вопросы по тегам