已采纳回答 / 枫荇
@ PumkinPie sleep的方法不可取啊,rand.Seed是为了改变初始随机种子数,反正程序重新启动时的随机序列一样的,只要保证每次重启后的初始随机种子数不一样就行。
2019-03-17
已采纳回答 / 枫荇
@smarty 您好!在这个例子中金额字段使用了decimal类型,这里使用的decimal类型是由下面这个第三方库提供的:
github.com/shopspring/decimal可以使用go get 进行安装:
go get -u github.com/shopspring/...
2019-03-08
已采纳回答 / 枫荇
@misaki_rain 很认真的一位同学,实际上通过这个bug,也可以更深刻的理解最小金额的意义。除了生成序列还进一步对生成的结果做了一些验证,这些思考和验证方法可以进一步使用自动化测试来验证,实际上后洗牌算法在课程中没有编写自动化测试来验证,没有测试就有bug,也说了测试的重要性。非常感谢@misaki_rain的问题,非常棒!???
2019-03-07
讲师回答 / 枫荇
@Q646448149 您好!悲观锁:简单说就是先占了我要使用的所有资源,强制绝对串行化,不允许我开始执行时,不管是否要真的执行,涉及到的资源绝对的私有,绝对占有。用一个简单的案例讲,我要去停车,进停车场时,系统给我分配一个停车位A201,告诉让所有停车的人,并且A201车位上安装了车位锁,只有我的车过去才能打开;那么也就是说,我入场是就占了这个车位,不管这个时候不管我是否真的要停,A201车位是我的其他人不能停。乐观锁:不管资源是否能用,我先去尝试,如果资源已经被占了或者状态变了,大不了失败重来。用上面...
2019-03-03
讲师回答 / 枫荇
可以参考官方文档:https://golang.org/pkg/math/rand/#Seed 意思就是:seed方法用来提供一个初始化的种子值,从而来确定随机源中默认的状态值;如果不调用seed方法,那么默认的行为就是调用Seed(1),将1作为初始化的种子值;这样rand每次使用的种子数都是1,所以每次重启程序都会随机生成的序列都是一样的;不重启时程序也不停止,一直获取的随机数是不一样的;每次重新设置种子值,那么随机序列就不一样了。
2019-02-28
讲师回答 / 枫荇
@qq_boy_3 您好!在课程中使用的是Goland,是jetbrains也就是我们熟知的Intellji IDEA的golang开发定制版本。也可以使用Intellji IDEA安装Golang插件,是一样的。下载地址:https://www.jetbrains.com/go/
2019-02-26