Pointers Golang指针分析以确定缓冲区是否已刷新

Pointers Golang指针分析以确定缓冲区是否已刷新,pointers,go,static-analysis,Pointers,Go,Static Analysis,一般来说,我对指针分析和静态分析是新手,我希望有人能给我一个简单的答案,并把我推向正确的方向 基本上,我想要实现的是对Go源代码进行静态分析,查看潜在的错误代码,例如忘记刷新()缓冲区 在单个函数中对缓冲区变量执行Flush()操作后,检查可能很简单。但正如下面的代码一样,在另一个调用的函数中很难检测到缓冲区实际上是关闭的 如何能够很好地进行静态检查来解决这个问题,我只能考虑使用Go tools指针包,但要掌握文档并不容易 package main import ( "bufio"

一般来说,我对指针分析和静态分析是新手,我希望有人能给我一个简单的答案,并把我推向正确的方向

基本上,我想要实现的是对Go源代码进行静态分析,查看潜在的错误代码,例如忘记刷新()缓冲区

在单个函数中对缓冲区变量执行Flush()操作后,检查可能很简单。但正如下面的代码一样,在另一个调用的函数中很难检测到缓冲区实际上是关闭的

如何能够很好地进行静态检查来解决这个问题,我只能考虑使用Go tools指针包,但要掌握文档并不容易

package main

import (
    "bufio"
    "fmt"
    "os"
)

func main() {
    w := bufio.NewWriter(os.Stdout)
    fmt.Fprint(w, "Hello, World")
    closeBuffer(w)
}

func closeBuffer(buf *bufio.Writer) {
    buf.Flush()
}