我在 PostgreSQL 中存储了一个双链表。我有一个 Go API 来管理这个列表。
有一个函数可以创建新的Node(在特定位置)。假设其中有一个 INSERT SQL 查询。
此外,还有一个删除Node(按 id)的功能。假设其中有一个 DELETE SQL 查询。
众所周知,如果您需要将 a 移动Node到不同的位置,您应该调用 DeleteNode() 函数和 CreateNode() 函数。所以有第三个函数叫做 MoveNode()
func MoveNode() error {
if err := DeleteNode(); err != nil {
return err
}
if err := CreateNode(); err != nil {
return err
}
return nil
}
但是这些函数(位于 MoveNode() 内部)应该在一个事务中调用。
有没有办法在 Go 中“合并”函数?或者解决这个问题的方法是什么(除了从2个函数复制和粘贴代码到第三个)?
ps 这个想法很简单:你有两个函数执行一些 SQL 查询,你需要在一个事务中执行这些查询(或在一个事务中调用 2 个函数)
慕的地8271018
相关分类