Golang中的变量赋值

愤怒的乔治

因此,我有以下两种方法:

func Marshal(in interface{}) (out []byte, err error)
func readDocument(r io.Reader) ([]byte, error)

在我的代码中,我执行以下操作:

queryDoc, err := readDocument(client) // querydoc is slice of len 408
if something {
    queryDoc, err := bson.Marshal(something) 
    newDocLen := len(queryDoc) // len is now 200
}
len(queryDoc) // len is 408????

由于某些原因,queryDoc无法通过解组得到更新。但是,如果我将其分配给一个中间值,它将起作用:

queryDoc, err := readDocument(client) // querydoc is slice of len 408
if something {
    q, err := bson.Marshal(something)
    queryDoc = q
    newDocLen := len(queryDoc) // len is now 200
}
len(queryDoc) // len is 200

因为在第一个示例中我将返回值分配给queryDoc,所以变量queryDoc现在不应该引用新数组吗?

艾纳尔G

queryDoc, err := bson.Marshal(something)

您实际上创建了一个新的queryDoc:=而不是=编译器未捕获它,因为您也已使用它。替换为

var err error
queryDoc, err = bson.Marshal(something)

它应该按预期工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

if中的zsh变量赋值

来自分类Dev

if中的zsh变量赋值

来自分类Dev

Haskell中的变量赋值

来自分类Dev

(caadr exp)在赋值变量中

来自分类Dev

变量赋值中“and”的用例

来自分类Dev

提供对makefiles / kconfig中变量的赋值

来自分类Dev

如果变量在列表中,则为true赋值?

来自分类Dev

元组匹配与Python中的变量赋值

来自分类Dev

在C ++中为全局变量赋值

来自分类Dev

如何在订阅中为变量赋值?

来自分类Dev

在此代码中赋值之前引用的变量

来自分类Dev

澄清变量赋值中的操作数

来自分类Dev

Python 中的列表、变量赋值和函数

来自分类Dev

如何为终端中的变量赋值?

来自分类Dev

python中的变量赋值和引用

来自分类Dev

为 FirebaseDatabase 中的全局变量赋值

来自分类Dev

不能为@classmethod 中的变量赋值

来自分类Dev

在 Python 中为变量赋值的问题

来自分类Dev

如何为名称在bash中的变量中的变量赋值?

来自分类Dev

在Unix中动态地给变量赋值-变量间接

来自分类Dev

在Python 2.7中为列表中的变量赋值

来自分类Dev

如何在jQuery中的变量中调用函数赋值

来自分类Dev

在Flutter StatefulWidget中为initState内的变量赋值或不赋值之间有什么区别?

来自分类Dev

解释整数x的单行赋值,list[x]中的item,和引用变量的单行赋值的区别

来自分类Dev

C++ 为什么原始 double 数组中的赋值似乎比 double 变量赋值快得多?

来自分类Dev

在修饰方法中赋值之前引用的局部变量

来自分类Dev

在Dart中对变量进行赋值时,如何缩短代码?

来自分类Dev

在Java中对变量赋值的可见性

来自分类Dev

从ember.js中的ajax调用为变量赋值

Related 相关文章

热门标签

归档