下午好,
我正在尝试用我对golang的有限知识来获取进程ID,以下是我想出的:
package main
import (
"fmt"
"io/ioutil"
"log"
"os"
"os/exec"
"strings"
)
func main() {
cmd := exec.Command("tasklist.exe")
out, err := cmd.CombinedOutput()
if err != nil {
log.Fatal(err)
}
f, err := os.Create("data.txt")
if err != nil {
log.Fatal(err)
}
defer f.Close()
val := out
data := []byte(val)
_, err2 := f.Write(data)
if err2 != nil {
log.Fatal(err2)
}
val2 := " and red fox\n"
data2 := []byte(val2)
var idx int64 = int64(len(data))
_, err3 := f.WriteAt(data2, idx)
if err3 != nil {
log.Fatal(err3)
}
fmt.Println("done")
/* ioutil.ReadFile returns []byte, error */
explorer, err := ioutil.ReadFile("data.txt")
/* ... omitted error check..and please add ... */
/* find index of newline */
file := string(data)
line := 0
/* func Split(s, sep string) []string */
temp := strings.Split(file, "\n")
for _, item := range temp {
fmt.Println("[", line, "]\t", item)
line++
}
fmt.Println(explorer)
}
我的主要问题是我一直遇到 ioutil 不允许我在读取文件之前分配值的同一堵墙。
有人可以在这里帮助我吗?