首页 > 解决方案 > 如何通过单击从 Windows 中的 Go 可执行文件打开特定文件

问题描述

我有一个 Go 程序,我从中构建了一个 Windows 操作系统可执行文件。这个程序只接受命令行参数并打印它们。

我想要做的是:在 Windows 中,我想点击一个特定的文件(比如说一个文本文件),我希望我的 Go 可执行文件打印文件的名称。我不确定 Windows 如何将文件名传递给可执行文件。

到目前为止,我已经右键单击我的文本文件 > 打开方式 > 选择另一个程序 > 在我的电脑中查找另一个程序 > 选择我的 Go 可执行文件。但我不确定接下来的步骤。

我希望我的 Go 可执行文件找到文本文件的位置,然后对其进行操作。

标签: windowsfilegoparameter-passing

解决方案


Windows将文件名传递给参数中的可执行文件,因此在您的情况下,如果您使用打开名为 process.txt 的文件

process.txt > Open with > Choose another program > Look for another program in my pc > Selected my Go executable

我假设您的 Golang 代码将遵循以下内容。

package main

import (
    "log"
    "os"
    "time"
)

func main() {
    log.Println(os.Args[1:])
    time.Sleep(10 * time.Second)
}

输出:

[.../.../process.txt]

这个示例程序将打开一个命令提示符并在控制台上显示参数,其中将包含通过Open With. 现在您将拥有可以在程序中处理的文件路径。


推荐阅读