[Golang]一些书城项目中出现错误的原因和解决办法(一)
跟着B站尚硅谷的GoWeb教程写书城项目,整理一下自己写的时候出现的错误和解决办法。
-
错误一:cartItem中只能加入一种书,SQL语句没有问题,但是购物车中的总金额和总数量正确:
- 原因:cartItem的字段不完整(如没有给book1添加cartId)。
- 解决办法:检查相应结构体变量中是否有缺少的内容,相应解决即可。
-
错误二: 在
for rows.Next() {}循环中出现错误:invalid memory address or nil pointer dereference [recovered]-
原因:没有给某个指针变量分配空间,如以下的代码:
var book *models.Book // 以上仅为声明,还未分配空间; // 当给book变量进行赋值操作时,就会出现上面的错误。 -
解决方法:
// 可以改为以下三种: // 1 var book = &models.Book{} book := &models.Book{} // 2 book := new(models.Book)上面的代码里,1 中的两种方式等价。
-