在Go 1.15版本中,go build会自动分析源码中的依赖,如果go.mod中没有对该依赖的require,则会自动添加require,同时会将go.sum中将相关包(特定版本)的校验信息写入。
也就是说go build/run命令不再自动更新go.mod和go.sum了

go build并不会向go 1.15及之前版本那样做出有“副作用”的动作:自动修改go.mod和go.sum,而是提示开发人员显式通过go get来添加缺少的包/module,即便是依赖包major版本升级[20]亦是如此。
所以在1.16如果编译的时候未提交go.sum会报错

helloworld.go:3:8: no required module provides package github.com/sirupsen/logrus; to add it:
 go get github.com/sirupsen/logrus```