path ,_:= os.Getwd()
返回当前文件路径C:\www\go\src\hellopath := filepath.Dir(os.Args[0])
同上_, s, _, _ := runtime.Caller(0)
当前文件全路径 C:\www\go\src\hello\hello.exes, _ := exec.LookPath(os.Args[0])
同上f1 := filepath.Join(path,"test","1.txt")
连接路径C:\www\go\src\hello\test\1.txt
os.Exit(0) 程序终止
f,:=os.Hostname() //主机名 XiaoxinAir14
f,:=os.UserHomeDir() //用户目录 C:\Users\yoby
u,_:=user.Current() //os/user
home:=u.HomeDir //用户目录 C:\Users\yoby
username:=u.Username //用户名 XIAOXINAIR14\yoby
pid := os.Getpid() 当前进程
fmt.Printf(“进程 PID: %d n”, pid)
j, _ := os.FindProcess(pid)
j.Kill() 关闭程序
var out [512]byte 输入
os.Stdin.Read(out[:])
string(out[:])
c:=ipconfig/all
//执行cmd
cmd:= exec.Command(“cmd.exe”, “/C”, c)
//cmd = exec.Command(“/bin/sh”, “-c”, cmdstring)
cmd.Run() //执行命令不返回
output,err := cmd.Output() 执行命令输出结果
fmt.Println(php.Gbk2Utf8(string(output)))转换编码输出
cmd := exec.Command("cmd","/C","ipconfig/all")
var out bytes.Buffer
cmd.Stdout = &out //同功能 cmd.Stdout = os.Stdout
cmd.Run()//同步
fmt.Println(php.Gbk2Utf8(out.String()))
//隐藏窗口执行cmd命令
cmd := exec.Command("cmd","/C","start")
cmd.SysProcAttr = &syscall.SysProcAttr{HideWindow: true}
cmd.Start() //异步
//执行exe
command := exec.Command("cmd", "/c", "start", "ll.exe")
command.Start()
filepath.Dir(f1) 返回路径
filepath.Base(f1) 返回文件
filepath.Abs("1.go") 返回绝对路径C:\www\go\src\hello\1.go
path,file:=filepath.Split(f1) 返回路径和 文件名分开
ext:=filepath.Ext(f1) .txt 获取扩展名
cmd:=os.Args是一个[]string是切片类型,cmd[0]是第一个命令,通过命令行获取参数
r := strings.NewReader("我是李白") //读取字符串
b, err := io.ReadAll(r) //返回字节字符[]byte
if err != nil {log.Fatal(err)}
//快速读取文件
content, _ := os.ReadFile("1.txt")
fmt.Println(string(content))
//快速写文件
str := "hello 沙河"
os.WriteFile("./2.txt", []byte(str), 0666)
//写文件 os.O_APPEND 追加 os.O_TRUNC 覆盖
file, _ := os.OpenFile("xx.txt", os.O_CREATE|os.O_TRUNC|os.O_WRONLY, 0666)
defer file.Close()
str := "hello 沙河"
file.Write([]byte(str)) //写入字节切片数据
file.WriteString("hello 小王子") //直接写入字符串数据
//写文件
file, _ := os.OpenFile("xx.txt", os.O_CREATE|os.O_TRUNC|os.O_WRONLY, 0666)
defer file.Close()
writer := bufio.NewWriter(file)
for i := 0; i < 10; i++ {
writer.WriteString("hello沙河\n") //将数据先写入缓存
}
writer.Flush() //将缓存中的内容写入文件
//列出目录
dir_list, _ := os.ReadDir("C:\\www")
var dir []string
for _, v := range dir_list {
if v.IsDir(){
dir=append(dir,v.Name())
}
}
dir, _ := os.MkdirTemp("", "qq") //创建临时目录
defer os.RemoveAll(dir)
dir:= os.TempDir() //临时目录路径
更新时间:2024-12-05 13:26