вторник, 25 июня 2019 г.

Go модули: обновление зависимости до новой основной версии

Завершим наше преобразование от использования rsc.io/quote к использованию только rsc.io/quote/v3. Из-за существенного изменения версии следует ожидать, что некоторые API-интерфейсы могут быть удалены, переименованы или иным образом изменены несовместимыми способами. Читая документы, мы видим, что Hello стал HelloV3:

$ go doc rsc.io/quote/v3
package quote // import "rsc.io/quote"

Package quote collects pithy sayings.

func Concurrency() string
func GlassV3() string
func GoV3() string
func HelloV3() string
func OptV3() string
$

Мы можем обновить наше использование quote.Hello() в hello.go, чтобы использовать quoteV3.HelloV3():

package hello

import quoteV3 "rsc.io/quote/v3"

func Hello() string {
    return quoteV3.HelloV3()
}

func Proverb() string {
    return quoteV3.Concurrency()
}

И затем на этом этапе больше нет необходимости в переименованном импорте, поэтому мы можем отменить это:

package hello

import "rsc.io/quote/v3"

func Hello() string {
    return quote.HelloV3()
}

func Proverb() string {
    return quote.Concurrency()
}

Запустим тесты, чтобы убедиться, что все работает:

$ go test
PASS
ok      example.com/hello       0.014s


Читайте также:


Комментариев нет:

Отправить комментарий