- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我有以下代码
http://play.golang.org/p/d-bZxL72az
package main
import "fmt"
type Variables struct {
sum uint64
highest uint64
}
type Data struct {
count uint64
mValue map[string]Variables
}
func (v Variables) Add(value Variables) Variables {
v.sum += value.sum
if v.highest == 0 {
v.highest = value.highest
} else if v.highest < value.highest {
v.highest = value.highest
}
return v
}
func (v *Variables) AddPointer(value Variables) {
v.sum += value.sum
if v.highest == 0 {
v.highest = value.highest
} else if v.highest < value.highest {
v.highest = value.highest
}
}
func main() {
var instances [2]Variables
instances[0] = Variables{sum: 5, highest: 3}
instances[1] = Variables{sum: 10, highest: 2}
var d Data
d.mValue = make(map[string]Variables)
for i:= 0; i < len(instances); i++ {
d.mValue["one"] = d.mValue["one"].Add(instances[i])
d.mValue["two"].AddPointer(instances[i])
}
fmt.Println(d.mValue["one"])
fmt.Println(d.mValue["two"])
}
我得到了错误
# command-line-arguments
/tmp/sandbox209565070/main.go:42: cannot call pointer method on d.mValue["two"]
/tmp/sandbox209565070/main.go:42: cannot take the address of d.mValue["two"]
(我想)我理解第二个错误cannot take address
- 因为它是一个 map ,它不能获取地址(正确吗?)
是否也是第一个错误的原因(无法调用指针方法)?
有没有办法在映射中的结构上使用指针方法..
最佳答案
是的,同样的原因。为了调用带有指针接收器的方法,您首先需要有一个指针,或者您需要一个可寻址值,Go 会自动为您获取指针。
那么,您可以做的是将 mValue
设为 map[string]*Variables
而不是 map[string]Variables
.然后,您将在映射中存储一个指向已分配、可保证寻址的 Variables
的指针,您将能够调用该指针上的方法。
关于dictionary - map接口(interface)指针方法接收者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31494710/
我正在尝试每 60 秒运行一次 CPU 密集型任务。我正在使用带有 PendingIntent 的 AlarmManager,` Intent intent = new Intent(Main
嗨,我正在一个项目中,我使用table_calender创建事件并将其保存在数据库中,我已经成功添加了数据库,然后在数据库中,当我必须检索它们时,当数据库中只有一个事件时,就会出现问题。根据日历显示制
我想构建一个 Sender-Receiver,每个都有两个 PartialView,并通过 Controller 中的发送方法连接它们。 Ajax 操作调用需要必须重新呈现的 div 的 Id。但我希
我目前正在尝试在 UIPickerView.subviews 中找到一个 UIPickerTable ...所以我遍历并执行 isKindOfClass:[UIPickerTable class] .
我正在尝试找到一种解决方案来控制我构建的 Android 应用程序中的 vpn 连接。到目前为止,我可以找到以下结果: 从 Android 版本 2.3.x 开始,无法通过 intents 控制 an
我可以找到大量链接两个调用的示例,但我有 3 个 http 调用使用前一个调用的数据一个接一个地进行。 我有两个人在使用 flatMap 所以: call1(params) .flatMap((r
我是 Azure 服务总线的新手,刚刚按照下面链接中的 MS 指南操作,运行了 2 个 .NET Core 控制台应用程序。一个作为发送者,另一个作为接收者/消费者。 https://learn.mi
我正在尝试从firestore中的flutter中检索单个文档,当存在文档时,它应该返回数据,而当不存在文档时,它应该返回null数据,到目前为止,我尝试过什么: @override Widg
我在使用 Flutter 设置使用电子邮件和密码注册时遇到问题。我让它登录新用户并保存他们的 Firebase 身份验证信息,但它不会将任何配置文件数据保存到 Firebase 存储部分。我不确定我在
我是一名优秀的程序员,十分优秀!