3 回答
TA贡献1982条经验 获得超2个赞
下面的 go 函数等价于 C 的 system() 函数。在 go 中,您可以像这样使用:
import "system"
...
exitstatus := system.System("clear")
这是 Go 代码:
package system
import (
"os"
"os/exec"
"syscall"
)
func System(cmd string) int {
c := exec.Command("sh", "-c", cmd)
c.Stdin = os.Stdin
c.Stdout = os.Stdout
c.Stderr = os.Stderr
err := c.Run()
if err == nil {
return 0
}
// Figure out the exit code
if ws, ok := c.ProcessState.Sys().(syscall.WaitStatus); ok {
if ws.Exited() {
return ws.ExitStatus()
}
if ws.Signaled() {
return -int(ws.Signal())
}
}
return -1
}
TA贡献1850条经验 获得超11个赞
您可以使用以下几行来调用stdlib.h系统函数:goC
package main
// #include <stdlib.h>
//
// void clear() {
// system("clear");
// }
import "C"
import (
"fmt"
"time"
)
func main() {
fmt.Println("Hello")
fmt.Println("World")
fmt.Println("Golang")
time.Sleep(time.Second * 5)
C.clear()
fmt.Println("Screen is cleared")
}
- 3 回答
- 0 关注
- 149 浏览
添加回答
举报