Ввод/вывод в GO

НАВИГАЦИЯ ПО СТРАНИЦЕ

Работа с файлами и сетью Работа с сетью

Работа с файлами и сетью в языке программирования GO

Основы ввода/вывода в GO:

Ввод/вывод в GO осуществляется с использованием пакета os для работы с файлами и пакетов net и net/http для работы с сетью.

Чтение файла:

package main

import (
	"fmt"
	"io/ioutil"
)

func main() {
	data, err := ioutil.ReadFile("example.txt")
	if err != nil {
		fmt.Println("Error reading file:", err)
		return
	}

	fmt.Println("File content:", string(data))
}

Запись файла:

package main

import (
	"fmt"
	"io/ioutil"
)

func main() {
	content := []byte("Hello, World!")

	err := ioutil.WriteFile("example.txt", content, 0644)
	if err != nil {
		fmt.Println("Error writing file:", err)
		return
	}

	fmt.Println("File written successfully.")
}

Работа с сетью

Простой HTTP сервер:

package main

import (
	"fmt"
	"net/http"
)

func handler(w http.ResponseWriter, r *http.Request) {
	fmt.Fprint(w, "Hello, World!")
}

func main() {
	http.HandleFunc("/", handler)
	http.ListenAndServe(":8080", nil)
}

HTTP клиент:

package main

import (
	"fmt"
	"io/ioutil"
	"net/http"
)

func main() {
	resp, err := http.Get("http://example.com")
	if err != nil {
		fmt.Println("Error making HTTP request:", err)
		return
	}
	defer resp.Body.Close()

	body, err := ioutil.ReadAll(resp.Body)
	if err != nil {
		fmt.Println("Error reading response body:", err)
		return
	}

	fmt.Println("Response:", string(body))
}

Это основные примеры работы с файлами и сетью в языке программирования GO. Для более сложных задач используются дополнительные пакеты, такие как os, bufio, io, net, и т.д. Однако, приведенные примеры предоставляют базовое представление о том, как выполнять ввод/вывод в GO.