💬 Как в Go обрабатываются операции ввода-вывода файлов?



В Go для работы с файлами и операциями ввода-вывода используется пакет os для открытия, создания, чтения, записи и закрытия файлов, а также пакет io или bufio для более эффективного ввода-вывода с буферизацией.



📌 Открытие и чтение файла



Для чтения файла сначала его нужно открыть с помощью функции os.Open(), а затем можно использовать io или bufio для чтения содержимого:



package main



import (

"bufio"

"fmt"

"log"

"os"

)



func main() {

file, err := os.Open("example.txt")

if err != nil {

log.Fatal(err)

}

defer file.Close()



scanner := bufio.NewScanner(file)

for scanner.Scan() {

fmt.Println(scanner.Text())

}



if err := scanner.Err(); err != nil {

log.Fatal(err)

}

}





📌 Создание, запись в файл и добавление данных в файл



Для создания файла используется функция os.Create(), а для записи — метод Write() или WriteString() из пакета os. Чтобы дополнить файл, его нужно открыть с опциями os.O_APPEND и os.O_WRONLY.