手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜Qcloud , 注册 | 登陆

GO 的一个小陷阱

首页 > Go >

在群里突然看到一段代码:

XML/HTML代码
  1. package main  
  2.   
  3. import (  
  4.     "fmt"  
  5. )  
  6.   
  7. var DomainId int  
  8.   
  9. func init() {  
  10.     DomainId, err :GetDomainId()  
  11.     if err != nil {  
  12.         DomainId = -1  
  13.     }  
  14.     fmt.Println(DomainId)  
  15. }  
  16.   
  17. func GetDomainId() (int, error) {  
  18.     DomainId = 1  
  19.     return DomainId, nil  
  20. }  

注意看红色背景的一条,理论上这段代码没有错,但事实上会报错了。

XML/HTML代码
  1. [上海]Asta谢()  22:29:50  
  2. 我知道  
  3. [上海]Asta谢()  22:29:55  
  4. 我踩过这个坑  
  5. [上海]Asta谢()  22:30:04  
  6. init里面不能用:=  

所以,上面的代码应该是写成:

XML/HTML代码
  1. func init() {  
  2.     var err error  
  3.     DomainId, err = GetDomainId()  
  4.     if err != nil {  
  5.         DomainId=-1  
  6.     }  
  7. }  

对比两段红色背景的代码。主要是做个笔记 .怕会忘 .

Asta谢 是谁?看这里:https://github.com/astaxie/build-web-application-with-golang ,这里有一篇他的教程,适合广大人民群众查看




本站采用创作共享版权协议, 要求署名、非商业和保持一致. 本站欢迎任何非商业应用的转载, 但须注明出自"膘叔", 保留原始链接, 此外还必须标注原文标题和链接.

Tags: go

« 上一篇 | 下一篇 »

只显示10条记录相关文章

using NGINX or not? (浏览: 9692, 评论: 0)
对着谢大的教程写代码(一) (浏览: 7907, 评论: 0)
上海首届GO聚会开始了 (浏览: 6050, 评论: 0)

发表评论

评论内容 (必填):