您的位置:首页 > 教育 > 培训 > 广告公司岗位_互联网公司花名大全男_网站分析培训班_广告推销

广告公司岗位_互联网公司花名大全男_网站分析培训班_广告推销

2025/4/2 1:55:04 来源:https://blog.csdn.net/aw2371/article/details/146777979  浏览:    关键词:广告公司岗位_互联网公司花名大全男_网站分析培训班_广告推销
广告公司岗位_互联网公司花名大全男_网站分析培训班_广告推销

目录

I/O 和 OS 方法概述

文件读取与写入

文件和目录管理

环境变量

其他系统交互


I/O 和 OS 方法概述

文件读取与写入
  • io.ReadAll

    • 用于从Reader接口读取所有数据并返回一个字节切片。
    bytes, err := io.ReadAll(file)
  • os.Open

    • 打开一个文件用于读取。如果操作成功,则返回一个指向File的指针;如果失败,则返回错误。
    file, err := os.Open("os/1.txt")
  • os.OpenFile

    • 更通用的打开文件的方式,允许指定标志(如只读、读写等)和权限模式。
    file, _ = os.OpenFile("os/1.txt", os.O_RDONLY, 0644)
  • os.Create

    • 创建一个新文件用于写入,如果文件已存在则会被截断。
    file, _ = os.Create("os/2.txt")
  • file.WriteString

    • 向文件写入字符串,并返回写入的字节数。
    n, _ := file.WriteString("hello world")
文件和目录管理
  • os.Remove

    • 删除一个文件或目录。
    _ = os.Remove("os/2.txt")
  • os.Stat

    • 获取文件的信息,包括大小、修改时间等。
    fileInfo, err := os.Stat("os/1.txt")
环境变量
  • os.Setenv

    • 设置环境变量的值。
    os.Setenv("a", "A")
  • os.Environ

    • 返回所有环境变量的列表,每个元素格式为"key=value"
    for _, env := range os.Environ() {fmt.Println(env)
    }
其他系统交互
  • os.Getwd

    • 获取当前工作目录的路径。
    fmt.Println(os.Getwd())
  • os.Getpid

    • 获取当前进程的ID。
    fmt.Println(os.Getpid())
  • os.Getppid

    • 获取父进程的ID。
    fmt.Println(os.Getppid())
  • os.TempDir

    • 返回临时目录的路径。
    fmt.Println(os.TempDir())

这些方法提供了对文件系统的访问、环境变量的管理以及与其他操作系统功能的交互能力,是Go语言进行系统编程的重要工具。

package mainimport ("fmt""io""log""os"
)func main() {// io.Copy// 打开文件file, err := os.Open("os/1.txt")if err != nil {log.Fatalf("failed to open file: %v", err)}defer file.Close()// 读取文件内容bytes, err := io.ReadAll(file) // 使用 io.ReadAll 替代 ioutil.ReadAllif err != nil {log.Fatalf("failed to read file: %v", err)}fmt.Println(string(bytes))//文件操作//os.Open(name string) (file *File, err error):打开一个文件用于读取。file, _ = os.Open("os/1.txt")defer file.Close()//fmt.Println(file.Name())//bytes, _ := ioutil.ReadAll(file) // ioutil.ReadAll已弃用bytes, _ = io.ReadAll(file)fmt.Println(string(bytes))// os.OpenFile()file, _ = os.OpenFile("os/1.txt", 1, 1)//f, err := os.OpenFile("app.log", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)//os.Create(name string) (file *File, err error):创建一个新文件用于写入,如果文件已存在则会被截断。file, _ = os.Create("os/2.txt")n, _ := file.WriteString("hello world")fmt.Println(n)//os.Remove(name string) error:删除一个文件或目录。_ = os.Remove("os/2.txt")//os.Rename(oldpath, newpath string) error:重命名(或移动)一个文件或目录。//os.Stat(name string) (fi FileInfo, err error):获取文件的信息,如大小、修改时间等。fileInfo, err := os.Stat("os/1.txt") // 获取文件信息if err != nil {fmt.Println("Error:", err)return}fmt.Println("File name:", fileInfo.Name())fmt.Println("Size:", fileInfo.Size())fmt.Println("Permissions:", fileInfo.Mode())fmt.Println("Last modified:", fileInfo.ModTime())fmt.Println("Is directory:", fileInfo.IsDir())//os.Chdir(dir string) error:改变当前工作目录。//环境变量//os.Getenv(key string) string:获取环境变量的值。//os.Setenv(key, value string) error:设置环境变量的值。os.Setenv("a", "A")os.Setenv("b", "B")//os.Environ() []string:返回所有环境变量的列表,格式为 "key=value"。for _, env := range os.Environ() {fmt.Println(env)}//执行命令//os.StartProcess(name string, argv []string, attr *ProcAttr) (*Process, error):启动一个新的进程。//argv := []string{"echo", "Hello world!"}//attr := &os.ProcAttr{//	Files: []*os.File{nil, os.Stdout, os.Stderr},//	Sys:   &syscall.SysProcAttr{},//}启动新进程//process, _ := os.StartProcess(argv[0], argv, attr)//fmt.Println(process.Pid)//os.Executable() (string, error):返回当前执行程序的路径。//其他//os.Exit(code int):退出当前程序,并返回状态码给操作系统。//os.Getwd() (dir string, err error):获取当前工作目录的路径。fmt.Println(os.Getwd())//os.Getpid() int:获取当前进程的ID。fmt.Println(os.Getpid())//os.Getppid() int:获取父进程的ID。fmt.Println(os.Getppid())//os.TempDir() string:返回临时目录的路径。fmt.Println(os.TempDir())
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com