在左边添加struct variable / name:=

时间:2014-09-25 21:30:03

标签: go

如何缩短此代码

access_log, err := os.OpenFile("log/access.log", os.O_CREATE|os.O_APPEND|os.O_WRONLY, 0660);
w.access_log = access_log

这样的事情

w.access_log, err := os.OpenFile("log/access.log", os.O_CREATE|os.O_APPEND|os.O_WRONLY, 0660);

1 个答案:

答案 0 :(得分:2)

您需要分配(=),而不是声明(:=):

var error
w.access_log, err = os.OpenFile("log/access.log", os.O_CREATE|os.O_APPEND|os.O_WRONLY, 0660);

:=适用于Short Variable declarationw.access_log已经声明(在w结构中)

issue 6842中讨论。