Go语言中,可以使用os.Remove()函数来删除文件。如果要覆盖已存在的文件,可以先删除旧文件,然后再拷贝新文件到相同的路径下。下面是一个示例代码:

package main

import (
    "fmt"
    "io"
    "os"
)

func main() {
    sourcePath := "new_file.exe"
    destinationPath := "old_file.exe"

    // 删除旧文件
    err := os.Remove(destinationPath)
    if err != nil {
        fmt.Println("删除文件出错:", err)
        return
    }

    // 拷贝文件到相同的路径下
    err = copyFile(sourcePath, destinationPath)
    if err != nil {
        fmt.Println("拷贝文件出错:", err)
        return
    }

    fmt.Println("文件删除成功并成功覆盖")
}

// 将源文件拷贝到目标文件
func copyFile(sourcePath, destinationPath string) error {
    sourceFile, err := os.Open(sourcePath)
    if err != nil {
        return err
    }
    defer sourceFile.Close()

    destinationFile, err := os.Create(destinationPath)
    if err != nil {
        return err
    }
    defer destinationFile.Close()

    _, err = io.Copy(destinationFile, sourceFile)
    if err != nil {
        return err
    }

    return nil
}

在上面的示例代码中,sourcePath变量表示新文件的路径,destinationPath变量表示旧文件的路径。先使用os.Remove()函数删除旧文件,然后使用copyFile()函数将新文件拷贝到相同的路径下。如果拷贝过程中出现错误,则会返回相应的错误信息。