Golang のファイル読み取り方法: 1. os パッケージと os.Open 関数を使用する; 2. bufio パッケージと Scanner タイプを使用する; 3. ioutil パッケージと ReadFile 関数を使用する; 4. を使用するos/exec パッケージと、ファイルの内容を読み取るためのコマンド ライン ツールの組み合わせ。詳細な紹介: 1. os パッケージと os.Open 関数を使用します。これは最も基本的な方法の 1 つです。「os.Open」関数を使用してファイルを開き、「*os.File」タイプのファイル オブジェクトを返します。 " 等々。
このチュートリアルのオペレーティング システム: Windows 10 システム、DELL G3 コンピューター。
Go 言語では、ファイルを読み取る方法がたくさんあります。一般的な方法は次のとおりです:
1. os パッケージと os.Open 関数を使用する
これは、os を使用する最も基本的な方法の 1 つです。 Open この関数はファイルを開き、*os.File タイプのファイル オブジェクトを返します。その後、ファイル オブジェクトのメソッドを使用してファイルの内容を読み取ることができます。
package main import ( "fmt" "os" ) func main() { file, err := os.Open("file.txt") if err != nil { fmt.Println("无法打开文件:", err) return } defer file.Close() // 读取文件内容 buffer := make([]byte, 1024) for { n, err := file.Read(buffer) if err != nil && err.Error() != "EOF" { fmt.Println("读取文件出错:", err) return } if n == 0 { break } fmt.Print(string(buffer[:n])) } }
2. bufio パッケージとスキャナー タイプを使用する
bufio パッケージはより高度な読み取り機能を提供し、その中でスキャナー タイプはファイルの内容を 1 行ずつ簡単に読み取ることができます。 . .
package main import ( "bufio" "fmt" "os" ) func main() { file, err := os.Open("file.txt") if err != nil { fmt.Println("无法打开文件:", err) return } defer file.Close() scanner := bufio.NewScanner(file) for scanner.Scan() { line := scanner.Text() fmt.Println(line) } if err := scanner.Err(); err != nil { fmt.Println("读取文件出错:", err) } }
3. ioutil パッケージと ReadFile 関数を使用する
ioutil パッケージには、ファイルの内容を処理するための実用的な関数がいくつか用意されており、その中で ReadFile 関数はファイルを直接読み取ることができます。ファイル全体のコンテンツを取得し、バイト スライスを返します。この方法は、小さいファイルの読み取りに適しています。
package main import ( "fmt" "io/ioutil" "log" ) func main() { content, err := ioutil.ReadFile("file.txt") if err != nil { log.Fatal(err) } fmt.Println(string(content)) }
4. os/exec パッケージとコマンド ライン ツールを組み合わせて使用して、ファイルの内容を読み取ります。
たとえば、ファイルの内容を読み取るには cat コマンドを使用します。 :
このメソッドは、コマンド ライン ツールを実行することでファイルの内容を読み取ることができ、実行時にファイルを動的に読み取るのに適しています。この方法では、追加のシステム コールとコマンド ライン パラメータの処理が必要になることに注意してください。したがって、Go 言語の組み込み関数を直接使用する場合よりもパフォーマンスが劣る可能性があります。ただし、場合によっては、コマンド ライン ツールを使用した方が柔軟で便利な場合があります。
以上がgolangでファイルを読み取る方法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。