刚开始学习使用go语言,学习了基础语法后,就找一个好的框架来分析,为以后做项目做好基础。看了好几个框架,最后选择go-admin,这里需要注意,叫go-admin的框架不止一个,我选择的是:
https://github.com/go-admin-team/go-admin
还有另一个叫go-admin的框架,还有官网啥的,我都下载下来看了,感觉这个的目录结构比较清晰,稍微有点注释
我是基于其v2.0.8版本进行分析,当然其实了解了其框架,哪个版本都是适用。
github经常上不去,我就保存了一份到:https://gitee.com/lsjWeiYi/go-admin ,master分支是v2.0.8的源码,保持不动。其他分支是我拆解分析的源码。
PS:后续分析就在vs code 上进行
debug
vs code上进行debug,网上也有很多资料,我查了资料后。知道要:
点击“创建launch.json文件”,会自动打开“launch.json”
将内容修改为:
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Launch Package",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${workspaceFolder}",
"args": [
"server"
]
}
]
}
保存,然后就可以按F5进入调试了。
在屏幕的正上方,就会出现调试的控制盘:
这里需要解释一下:
- program后面是为了找到main.go,go-admin的main就在根目录上,所以直接这么写就行了。
- 因为go-admin是使用cmd和cobra构建的命令行启动方式,所以和直接main函数启动还不一样。我们平时运行项目是“go-admin.exe server”。所以这里需要加上参数“server”,就是其中的“args”了。