- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
package main
import (
"fmt"
)
var store = map[string]int{}
func breadArrived(num int) {
if breadTotal, ok := store["bread"]; ok {
breadTotal += num
} else {
store["bread"] = num
}
fmt.Printf("%v\n", store)
}
func main() {
breadArrived(1)
breadArrived(2)
breadArrived(3)
}
上面的代码忽略了 +=
运算符,所以 store["bread"]
总是等于 1
。我假设我在这里遗漏了诸如“通过引用传递”之类的内容。另外,有什么更方便的方法吗?
最佳答案
您只是在增加 breadTotal
局部变量,而不是 store
映射中的值。应该是:
store["bread"] = breadTotal + num
你也可以简单地做:
store["bread"] += num
此外,由于索引 map 会返回 zero value尚未在映射中的键的值类型(int
的零值是 0
- 正确地告诉 no bread yet),if
完全没有必要。你可以简单地做:
func breadArrived(num int) {
store["bread"] += num
fmt.Printf("%v\n", store)
}
输出(在 Go Playground 上尝试):
map[bread:1]
map[bread:3]
map[bread:6]
关于dictionary - 在 map 中设置和顺序递增值的实用方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41851566/
value = a[0]; 在 Java 脚本中可以这样做吗? 最佳答案 没有。这是正确的: a[0] = value; 因为赋值运算符具有从右到左的结合性。 检查this link用于运算符优先级表
我有一个这样的哈希表: Hashtable ht = new Hashtable(); ht.put("A", "one"); ht.put("B", "two"); 然后我调用它的 values
当用户在输入框中键入内容时,我希望他们的名字显示在文本“hello”之后。与此相反,“hello”一词被删除并替换为他们的名字。 var name = document.getElementById(
我从这些地址开始 www.example.com/nav/Default.aspx www.example.com/nav/Fruit/Apple.aspx 我想要的是隐藏地址中的 nav 和 asp
是否可以将整数添加到作用域变量中? 例如 .... 如果顶部是 140,它应该给我 "280px" 而不是 "140140px" 这可能吗? 最佳答案 并不是我认为这是最好的方法,但您可以尝试: .
这是我的 fiddle : http://jsfiddle.net/JWww3/ 我不确定为什么这段代码不起作用。 当我单击“+1”按钮时,我想向“ajout”变量添加+1。如果 ajout = 5(
我正在尝试更新/创建一个新的数据集并将先前的值与新的值相结合。 这就是我的 Python 脚本现在的样子。 dailyDataset = { "pId" : pub, "oId" :
这是我的 Firebase 键值图像 这是我的代码: Query query = myFirebaseRef.orderByChild("age"); query.addListene
我是一名优秀的程序员,十分优秀!