1 回答
TA贡献1798条经验 获得超3个赞
有多个错误:
1)
与 C 不同,Go 强制您在语句之后直接使用大括号。因此,对于 if 情况(对于 func 也是如此),而不是这样做:
if (channel2temp < channel1temp)
{
用这个
if channel2temp < channel1temp {
2)
whileGo 中没有。采用for
for {
...
}
要么
for channel1temp != null || channel2temp != null {
...
}
3)
未声明变量的使用。通过在第一次初始化变量时进行简短的变量声明,通常很容易修复。所以而不是:
r = bufio.NewReader(file)
采用
r := bufio.NewReader(file)
4)
尝试将多值返回分配到单个变量中。如果函数返回两个值而您只需要一个值,则可以通过将其分配给 来丢弃您不想要的变量_。所以而不是:
file := os.Open(fn)
采用
file, _ := os.Open(fn)
但最佳实践是捕获该错误:
file, err := os.Open(fn)
if err != nil {
panic(err)
}
除此之外还有更多错误,但也许它会让你开始。我还建议阅读Effective Go,因为它会解释我刚刚提到的许多事情。
肯定有在线帮助。它可能是一种新语言,但在线材料确实很有用。以下是我在学习 Go 时使用的一些:
Effective Go : 关于如何编写惯用的 Go 代码的好文档
Go 编程语言之旅:带有交互式示例的 Go 在线之旅。
Go By Example:Go 程序的交互式示例,从 Hello World 开始。
Go 规范:作为规范的可读性令人惊讶。也许不是一个起点,但非常有用。
- 1 回答
- 0 关注
- 214 浏览
添加回答
举报