Thrift Go сгенерированный удаленный приложение неопределенная ссылка - PullRequest
0 голосов
/ 03 февраля 2020

Я следую учебному пособию Go для Thrift (https://thrift.apache.org/tutorial/go). Бег Go 1.13.4 и Экономия 0.13.0. Учебник как есть работает на 100%. Затем я изменяю shared.thrift, добавляя enum и используя этот тип enum для аргумента в функции getStruct ():

namespace go shared

struct SharedStruct {
  1: i32 key
  2: string value
}

enum KeyType {
    KEY0,
    KEY1
}

service SharedService {
  SharedStruct getStruct(1: i32 key, 2: KeyType keyT)
}

Сгенерированные пакеты Go не содержат ошибок, но калькулятор удален. go приложение ссылается на перечисление KeyType как tutorial.KeyType, что приводит к неопределенной ошибке ссылки, поскольку KeyType определен в общем пакете. То же самое происходит, когда я пытаюсь использовать список или карту структуры, определенной в shared.thrift, в качестве типа аргумента в функции getStruct ().

Что мне здесь не хватает? Как я уже сказал, сгенерированные пакеты не содержат ошибок и их можно было бы использовать в моем собственном приложении, но сгенерированное приложение ссылается на них неправильно.

...