测试环境

$ go version
go version go1.19 darwin/amd64

方法签名

func os.ReadFile(name string) ([]byte, error)

func os.Open(name string) (*File, error)

func io.ReadAll(r Reader) ([]byte, error)

// Deprecated os.ReadFile
func ioutil.ReadFile(filename string) ([]byte, error)

// Deprecated io.ReadAll
func ioutil.ReadAll(r io.Reader) ([]byte, error)

示例1

package main

import (
"fmt"
"os"
)

func main() {
content, err := os.ReadFile("demo.txt")

if err == nil {
// 将[]byte 转为 string后输出
fmt.Println(string(content))
}
}

示例2

package main

import (
"fmt"
"io"
"os"
)

func main() {
file, err := os.Open("demo.txt")

if err == nil {
defer file.Close()
content, err := io.ReadAll(file)
if err == nil {
fmt.Println(string(content))
}

}
}

参考
​​​超全总结:Go 读文件的 10 种方法​