golang はどのようにデータを保存しますか? 2 つのデータ保存方法の簡単な分析

PHPz
リリース: 2023-04-11 14:14:12
オリジナル
1324 人が閲覧しました

Golang は、今日のソフトウェア開発の世界で非常に人気のあるバックエンド言語です。 Golang を初めて使用する人にとって、データの保存方法は難しい問題になるかもしれません。この記事ではGolangでのデータ保存方法を紹介します。

はじめに

Golang は、データ ストレージにデータベースとファイル システムという 2 つの主な方法を使用します。この記事では、Golang で主にデータベースとファイル システムに使用される 2 つのストレージ方法について説明します。

データベース ストレージ

ソフトウェア開発では、データ ストレージにデータベースを使用するのが非常に一般的です。 Golang は、以下で説明するように、いくつかの一般的なデータベース ストレージ メソッドも提供します。

SQL データベース

SQL データベースは、一般的なデータベース ストレージ メソッドであり、Golang 標準ライブラリ SQL パッケージの database/ を使用して接続できます。そして操作します。 Database/sql パッケージによって作成されたデータベース接続を使用する場合、使用するデータベース ドライバーを指定する必要があります。 Golang の一般的な SQL データベース ドライバーには、次のものがあります。

  • MySQL
  • PostgreSQL
  • SQLite
  • Oracle

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 データベース

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 ストレージ

データを 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!