gpt4 book ai didi

Go无法访问其他文件中的导出数据

转载 作者:IT王子 更新时间:2023-10-29 02:29:24 31 4
gpt4 key购买 nike

我的项目将这些值导出到不同的文件中:

//messages.go    
package types

//BeaconMsg with data from google glass and the connected beacons
type BeaconMsg struct {
instanceID int
namespaceID int
distance int
}

//beacondata.go
package types

import (
"time"
)

//Beacondata with data from glasses containing beacon information
type Beacondata struct {
instanceID int
namespaceID int
distance int
RegisterTime time.Time
}

在另一个文件中,我导入了这样的类型:

import (
"glassbackend/types"
)

抛出错误的代码:

req := new(types.BeaconMsg)
if err := structFromRequest(req, r); err != nil {
log.Errorf(context, "error extracting data from request %v", err)
w.WriteHeader(http.StatusBadRequest)
return
}
if req.namespaceID == "" || req.instanceID == "" {blab blabl}

但是这段代码抛出错误“req.namespaceID undefined (cannot refer to unexported field or method namespaceID)(build)

请注意,代码 req := new(types.BeaconMsg) 没有抛出任何错误,只有我代码的最后一行。

有人知道发生了什么事吗?我在导出方面做错了什么吗?我不认为还有很多其他事情可以做对或错吗?

最佳答案

您只导出了类型 BeaconMsg(类型名称),但未导出字段。

如果你也想从其他包访问这些字段,你必须通过以大写字母开头的名称来导出它们:

type BeaconMsg struct {
InstanceID int
NamespaceID int
Distance int
}

关于Go无法访问其他文件中的导出数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41694776/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com