Golang は、今日のソフトウェア開発の世界で非常に人気のあるバックエンド言語です。 Golang を初めて使用する人にとって、データの保存方法は難しい問題になるかもしれません。この記事ではGolangでのデータ保存方法を紹介します。
Golang は、データ ストレージにデータベースとファイル システムという 2 つの主な方法を使用します。この記事では、Golang で主にデータベースとファイル システムに使用される 2 つのストレージ方法について説明します。
ソフトウェア開発では、データ ストレージにデータベースを使用するのが非常に一般的です。 Golang は、以下で説明するように、いくつかの一般的なデータベース ストレージ メソッドも提供します。
SQL データベースは、一般的なデータベース ストレージ メソッドであり、Golang 標準ライブラリ SQL パッケージの database/ を使用して接続できます。そして操作します。 Database/sql パッケージによって作成されたデータベース接続を使用する場合、使用するデータベース ドライバーを指定する必要があります。 Golang の一般的な SQL データベース ドライバーには、次のものがあります。
The以下は、database/sql パッケージを使用して MySQL データベースに接続する簡単な例です。
import ( "database/sql" _ "github.com/go-sql-driver/mysql" "fmt" ) func main() { db, err := sql.Open("mysql", "user:password@/dbname") if err != nil { panic(err.Error()) } defer db.Close() rows, err := db.Query("SELECT * FROM users") if err != nil { panic(err.Error()) } for rows.Next() { var name string var email string err = rows.Scan(&name, &email) if err != nil { panic(err.Error()) } fmt.Println(name, email) } }
NoSQL データベースは、一般的なデータベース ストレージ方法でもあり、非データベース データベースにはより適しています。 -データの構造化ストレージ。 Golang では、通常、NoSQL データベースの保存方法として MongoDB が使用されます。 MongoDB の Golang ドライバーは mgo で、Golang ドライバーの使用方法はライブラリのドキュメントで確認できます。
データベースを使用してデータを保存するだけでなく、Golang はファイル システムにデータを保存することもできます。ファイル システムを使用して Golang でデータを保存する方法をいくつか紹介します。
データを保存する簡単な方法は、データをファイルに保存することです。 Golang では、os パッケージで提供される関数を通じてファイル操作を完了できます。データをファイルに書き込む方法を示す簡単な例を次に示します。
import ( "fmt" "io/ioutil" ) func main() { data := []byte("hello world\n") err := ioutil.WriteFile("file.txt", data, 0644) if err != nil { panic(err.Error()) } contents, err := ioutil.ReadFile("file.txt") if err != nil { panic(err.Error()) } fmt.Println(string(contents)) }
データを JSON 形式で保存することも、一般的な保存方法です。 Golang では、encoding/json パッケージを使用して、データを JSON にエンコードしたり、JSON からデータをデコードしたりすることが簡単にできます。
次は、Person 構造を JSON にエンコードしてファイルに書き込む方法を示す簡単な例です。
import ( "encoding/json" "fmt" "io/ioutil" ) type Person struct { Name string `json:"name"` Age int `json:"age"` } func main() { p := Person{Name: "John Doe", Age: 42} jsonBytes, err := json.Marshal(p) if err != nil { panic(err.Error()) } err = ioutil.WriteFile("person.json", jsonBytes, 0644) if err != nil { panic(err.Error()) } fileContents, err := ioutil.ReadFile("person.json") if err != nil { panic(err.Error()) } var decodedPerson Person err = json.Unmarshal(fileContents, &decodedPerson) if err != nil { panic(err.Error()) } fmt.Printf("%s is %d years old\n", decodedPerson.Name, decodedPerson.Age) }
この記事では、この 2 つについて説明します。 Golang でのデータ ストレージの主な方法であるデータベースとファイル システムについて説明します。データベースを使用して Golang でデータを保存する場合は、従来の SQL データベースまたは NoSQL データベースを使用できます。データをファイル システムに保存する場合は、Golang で提供されるファイル保存方法を使用するか、データを JSON 形式にエンコードしてファイルに保存することができます。もちろん、ここで紹介したのは Golang で一般的に使用されるデータ ストレージ メソッドのほんの一部であり、実際の開発ではさらに他のデータ ストレージ メソッドを使用する可能性があります。
以上がgolang はどのようにデータを保存しますか? 2 つのデータ保存方法の簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。