首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试扩展golang pigpio包装器函数gpioWaveAddGeneric

尝试扩展golang pigpio包装器函数gpioWaveAddGeneric
EN

Stack Overflow用户
提问于 2019-10-15 17:31:10
回答 1查看 42关注 0票数 0

日安,

我试图在GitHub上扩展这个library,但是它不能工作,我得到了这个错误。pigpio.go:319:48: undefined: Pulse

这是函数:

代码语言:javascript
复制
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
}

我希望有人能帮助我。非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2019-10-15 18:47:13

我不知道您使用动词“扩展”是什么意思,但是如果您只是试图在自己的代码中使用该库,则代码中未限定的类型名称Pulse的外观看起来非常可疑:要使用包,首先使用import它,然后使用packagename.Symbol形式引用它导出的符号。

也就是说,在这种情况下,您应该这样做

代码语言:javascript
复制
import "github.com/go-pigpio/pigpio"

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

如果您真的想通过在库中编写自定义代码来扩展该库,那么使用非限定名称是非常明智的,但是可能的预感是所谓的“构建约束”的出现导致了它不起作用。

代码语言:javascript
复制
// +build ignore

在包含Go类型定义的文件中键入Pulse (在存储库中搜索"type Pulse“子字符串)。

The documentation明确指出,包含这种约束的文件将被排除在构建之外(即根本不编译),这意味着无论是包本身的代码还是它的客户端都根本看不到符号Pulse

为什么,这超出了当前讨论的范围;我想问一下包的作者。( blaming that file告诉我们,它实际上生来就有这个限制;它可能表明作者不认为文件是完整的和/或不适合使用。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58391519

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档