到目前为止,我们已经学习了如何创建、获取和更新帖子,那么接下来要考虑的就是如何在不需要这些帖子的时候删除它们了。比如说,假设程序已经通过获取操作将一篇帖子存储到了readPost变量里面,那么接下来就可以通过调用readPost变量的Delete方法来删除帖子:

readPost.Delete()

Delete方法的用法非常简单,代码清单6-11展示了这个方法的具体定义,里面使用的都是前面已经介绍过的技术。

代码清单6-11 删除一篇帖子

func (post *Post) Delete() (err error) {    
    _, err = Db.Exec("delete from posts where id = $1", post.Id)    
    return
}

跟前面更新帖子时一样,Delete方法直接通过调用sql.DB结构的Exec方法来执行SQL查询,并且因为Delete方法也对Exec方法返回的结果不感兴趣,所以它也会把Exec返回的结果赋值给了下划线_

也许你已经注意到了,与Post结构有关的各个方法以及函数都是以一种非常随意的方式进行定义的,所以在需要的时候,你也可以根据自己的想法来修改这些方法和函数。举个例子,除了“先修改已有的Post结构,然后再调用Update方法将更新反映到数据库里面”这种更新方法之外,你还可以考虑直接将需要修改的内容当作参数传递给Update方法;又或者说,你也可以考虑创建更多不同的获取函数,然后通过特定的列或者特定的过滤器来获取你想要的帖子。

results matching ""

    No results matching ""