Gob は、カスタム データ型のエンコードとデコードに使用できる Golang データ エンコーダーです。エンコードステップ:encoding/gob パッケージを導入します。 GobEncoder インターフェイスを実装するカスタム タイプを作成します。 gob.Encode() を使用してデータをエンコードします。デコード ステップ: エンコード タイプに一致するカスタム タイプを作成します。 gob.NewDecoder() を使用してデコーダを作成します。 Decode() を使用してデータをデコードします。実用的な例: Person タイプをバイナリ データにシリアル化し、標準出力に出力します。
Gob: Golang のデータ エンコーダー
Golang は、データをエンコードおよびデコードするための強力な関数セットを提供します。これらのエンコーダの 1 つである Gob は、ネットワーク送信用のカスタム データ タイプをエンコードするのに特に役立ちます。
Gob を使用したエンコード
Gob を使用してデータをエンコードするには、次の手順に従います。
はじめにencoding/gob
パッケージ:
import "encoding/gob"
GobEncoder
インターフェイスを実装するカスタム タイプを作成します:
type Person struct { Name string Age int } func (p Person) GobEncode(w io.Writer) error { encoder := gob.NewEncoder(w) encoder.Encode(p.Name) encoder.Encode(p.Age) return nil }
使用 gob.Encode()
データをエンコードする関数:
var p Person encoder := gob.NewEncoder(os.Stdout) encoder.Encode(p)
##デコードに Gob を使用します
Gob を使用するにはデータをデコードするには、次の手順を実行します。type Person struct { Name string Age int }
gob.NewDecoder() デコーダを作成します:
decoder := gob.NewDecoder(r)
Decode() 関数を使用してデータをデコードします:
decoder.Decode(&p)
実用的なケース
次に、Person 型をバイナリ データにシリアル化する実際的なケースを示します:
package main import ( "encoding/gob" "fmt" "io" ) type Person struct { Name string Age int } func main() { var buf io.Writer = os.Stdout enc := gob.NewEncoder(buf) person := Person{Name: "John", Age: 30} enc.Encode(person) }
Person type はバイナリ データをエンコードし、標準出力に出力します。
以上がGob、Golang のデータ エンコーダーの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。