Функция ReadAll
func ReadAll(r io.Reader) ([]byte, error)
ReadAll читает из r до ошибки или EOF и возвращает прочитанные данные. Успешный вызов возвращает err == nil, а не err == EOF. Поскольку ReadAll определен для чтения из src до EOF, он не рассматривает EOF из Read как ошибку, о которой будет сообщено.
package main
import (
"fmt"
"io/ioutil"
"log"
"strings"
)
func main() {
r := strings.NewReader("ReadAll принимает io.Reader и возвращает []byte")
b, err := ioutil.ReadAll(r)
if err != nil {
log.Fatal(err)
}
fmt.Printf("%s", b)
}
Вывод:
ReadAll принимает io.Reader и возвращает []byte
Функция ReadDir
func ReadDir(dirname string) ([]os.FileInfo, error)
ReadDir читает каталог с именем dirname и возвращает список записей каталога, отсортированных по имени файла.
package main
import (
"fmt"
"io/ioutil"
"log"
)
func main() {
files, err := ioutil.ReadDir(".")
if err != nil {
log.Fatal(err)
}
for _, file := range files {
fmt.Println(file.Name())
}
}
Вывод (зависит от окружения):
.dockerenv
__runsc_containers__
bin
dev
etc
home
lib
lib64
proc
root
sys
tmp
tmpfs
usr
var
Функция ReadFile
func ReadFile(filename string) ([]byte, error)
ReadFile читает файл с именем filename и возвращает его содержимое. Успешный вызов возвращает err == nil, а не err == EOF. Поскольку ReadFile читает весь файл, он не рассматривает EOF из Read как ошибку, о которой будет сообщено.
package main
import (
"fmt"
"io/ioutil"
"log"
)
func main() {
content, err := ioutil.ReadFile("testdata/hello")
if err != nil {
log.Fatal(err)
}
fmt.Printf("File contents: %s", content)
}
Вывод:
File contents: Hello world
Читайте также:
- Пакет io в Golang, функции копирования
- Пакет io в Golang, функции чтения
- Читать файл (stdin) построчно в Golang
Комментариев нет:
Отправить комментарий