Go常见问题记录
1. 局部变量未成功赋值到全局变量
```
var engine *xorm.Engine
func init(){
engine, err := xorm.NewEngine("sqlite3", "./test.db")
}
```
由于init方法内使用:=符号,所以engine和err均为新定义的局部变量,engine并未成功赋值到全局变量,修改方法如下:
```
var engine *xorm.Engine
func init(){
var err error
engine, err = xorm.NewEngine("sqlite3", "./test.db")
}
```
2. 包已经正确放在GOPATH下,但是始终无法导入paint包,原因是这个包名和代码中的paint方法冲突了。修改下方法名或者给paint包取个别名就行。
```
import(
"github.com/anthonynsimon/bild/paint"
)
func main(){
paint()
}
func paint(){
//...
}
```
3. 使用exec包执行命令行时,若使用Run方法会卡住程序,使用Start方法可以启动命令行而不卡住程序
```
func run(){
exec.Command("python", "-c", cmdStr).Run()
}
func start(){
exec.Command("python", "-c", cmdStr).Start()
}
```