Go 言語は、Google によって開発されたオープンソース プログラミング言語で、シンプルさ、効率性、同時実行パフォーマンスに重点を置くように設計されています。 Go 言語では、I/O 操作は非常に一般的かつ重要な部分です。この記事では、ファイルの読み書き、ネットワーク通信など、Go 言語の I/O 操作を詳しく紹介し、具体的なコード例を示します。 。
Go 言語では、os.Open
関数を使用して読み取り操作のためにファイルを開くことができます。例 コードは次のとおりです:
package main import ( "fmt" "os" ) func main() { file, err := os.Open("sample.txt") if err != nil { fmt.Println("文件打开失败:", err) return } defer file.Close() buf := make([]byte, 1024) n, err := file.Read(buf) if err != nil { fmt.Println("文件读取失败:", err) return } fmt.Println(string(buf[:n])) }
関数 os.Create
を使用して、書き込み用の新しいファイルを作成します。サンプル コードは次のとおりです。 ##
package main import ( "fmt" "os" ) func main() { file, err := os.Create("output.txt") if err != nil { fmt.Println("文件创建失败:", err) return } defer file.Close() data := []byte("Hello, World!") _, err = file.Write(data) if err != nil { fmt.Println("文件写入失败:", err) return } fmt.Println("文件写入成功") }ネットワーク通信TCP サーバーTCP サーバーは、
net パッケージを使用して簡単に実装できます。サンプル コードは次のとおりです。 <pre class='brush:go;toolbar:false;'>package main
import (
"fmt"
"net"
)
func handleConnection(conn net.Conn) {
defer conn.Close()
buf := make([]byte, 1024)
n, err := conn.Read(buf)
if err != nil {
fmt.Println("读取数据失败:", err)
return
}
fmt.Println("接收到客户端数据:", string(buf[:n]))
}
func main() {
listener, err := net.Listen("tcp", "localhost:8888")
if err != nil {
fmt.Println("TCP服务器启动失败:", err)
return
}
defer listener.Close()
fmt.Println("TCP服务器启动成功,监听端口8888")
for {
conn, err := listener.Accept()
if err != nil {
fmt.Println("接受连接失败:", err)
continue
}
go handleConnection(conn)
}
}</pre>
TCP クライアント
パッケージを使用して実装することもできます。サンプル コードは次のとおりです: <pre class='brush:go;toolbar:false;'>package main
import (
"fmt"
"net"
)
func main() {
conn, err := net.Dial("tcp", "localhost:8888")
if err != nil {
fmt.Println("连接服务器失败:", err)
return
}
defer conn.Close()
data := []byte("Hello, Server!")
_, err = conn.Write(data)
if err != nil {
fmt.Println("发送数据失败:", err)
return
}
fmt.Println("发送数据成功")
}</pre>
上記は詳細な紹介です。 Go 言語での I/O 操作と特定のコード例について説明します。今後も Go 言語に関する記事に注目していただければ幸いです。
以上がGo言語によるI/O操作の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。