1、调用别的程序文件(exec.Command)
package main
import (
"fmt"
"os/exec"
)
func checkError(err error){
if err != nil{
panic(err)
}
}
func main(){
cmd := exec.Command("./../other/other","hello","world")
data,err := cmd.Output()
checkError(err)
fmt.Println(string(data))
}
2、命令行传参(os.Args)
package main
import (
"fmt"
"os"
)
func main(){
fmt.Println("命令行的参数数目:",len(os.Args))
for i,v := range os.Args{
if i==0 {
continue
}
fmt.Printf("args[%v]=%v\n",i,v)
}
}
3、结合效果:
一个文件夹下2个文件夹,other文件夹中有可运行文件
4、补充学习
exec.Command可以调用其他类型的语言写的exe文件
例如:linux的ls命令
例如:linux 的tr命令
package main
import (
"bytes"
"fmt"
"log"
"os/exec"
"strings"
)
func main() {
cmd := exec.Command("tr", "a-z", "A-Z")
cmd.Stdin = strings.NewReader("some input")
var out bytes.Buffer
cmd.Stdout = &out
if err := cmd.Run(); err != nil {
log.Fatal(err)
}
fmt.Printf("in all caps: %q\n", out.String())
}