пытается расширить функции оболочки golang pigpio gpioWaveAddGeneric - PullRequest
0 голосов
/ 15 октября 2019

Добрый день,

Я пытался расширить эту библиотеку на GitHub, но она не работает, и я получил эту ошибку. pigpio.go:319:48: undefined: Pulse

Это функция:

func gpioWaveAddGeneric(numPulses uint, pulse *Pulse) (err error) {
 totalPulses := int(C.gpioWaveAddGeneric(
   C.unsigned(numPulses), &pulse[0]))
 if totalPulses > 0 {
   // totalPulses = the new total number of pulses in the current waveform   
   // if OK, otherwise PI_TOO_MANY_PULSES$
  } else {
    // handle erroer err = Errno(totalPulses)
  }
  return
}

Я надеюсь, что кто-то может мне помочь. Большое вам спасибо!

1 Ответ

0 голосов
/ 15 октября 2019

Понятия не имею, что вы имеете в виду, используя глагол "удлинить", но если вы просто пытаетесь использовать эту библиотеку в своем собственном коде, появление неквалифицированного имени типа Pulse вВаш код выглядит довольно подозрительно: чтобы использовать пакет, вы сначала import его, а затем ссылаетесь на символы, которые он экспортирует , используя форму packagename.Symbol.

То есть в этом оченьЕсли вы должны были сделать что-то вроде

import "github.com/go-pigpio/pigpio"

func gpioWaveAddGeneric(numPulses uint, pulse *pigpio.Pulse) (err error) {

Если вы действительно пытаетесь расширить эту библиотеку - написав собственный код в , - тогда это вполне разумно дляиспользовать неквалифицированные имена, но затем возможной догадкой, почему это не работает, может быть появление так называемого «ограничения сборки»

// +build ignore

в файле, содержащем определение типа Go Pulse (поиск в хранилище подстроки "type Pulse").

В документации прямо указано, что файл, содержащий такое ограничение, исключен из сборки (то есть не компилируется ввсе), и это означает, что ни сам код этого пакета, ни его клиенты вообще не видят символ Pulse.

Почему это выходит за рамки настоящего обсуждения;Я бы спросил автора пакета. (Ну, обвиняя этот файл , говорит, что он действительно родился с этим ограничением; это может означать, что автор не думал, что файл завершен и / или пригоден для использования.)

...