Go でのデータ型変換の完全ガイド: 基本から始める

PHPz
リリース: 2024-01-09 14:33:43
オリジナル
621 人が閲覧しました

Go でのデータ型変換の完全ガイド: 基本から始める

#Go 言語のデータ型変換をゼロから学習するための完全ガイド

Go 言語は静的に型付けされたプログラミング言語であり、データ型に関して比較的厳しい要件があります。 Go 言語では、データ型変換は非常に一般的な操作です。この記事ではゼロから始めて、Go 言語でのデータ型変換のさまざまな状況を詳しく紹介し、具体的なコード例を示します。

1. 基本的なデータ型の変換

Go 言語の基本的なデータ型には、整数、浮動小数点、ブール値、文字列が含まれます。異なるデータ型間で変換する場合は、対応する型変換関数または変換演算子を使用する必要があります。

    整数データ型変換
  1. Go 言語では、型変換関数 int() または型変換演算子を介して整数間の変換を実行できます。
サンプル コード:

a := 10
b := float64(a)
c := int64(a)
ログイン後にコピー

    浮動小数点データ型変換
  1. 浮動小数点型間の変換は、型変換関数と型変換演算子を使用して実行することもできます。
サンプル コード:

a := 10.5
b := int(a)
c := float32(a)
ログイン後にコピー

    ブール データ型変換
  1. Go 言語では、ブール値は true または false のみです。ただし、Boolean 型と整数型は相互に変換でき、true を整数型に変換した場合は 1、false を整数型に変換した場合は 0 となります。
サンプル コード:

a := true
b := int(a)
c := bool(b)
ログイン後にコピー

    文字列データ型の変換
  1. Go 言語では、文字列と他のデータ型間の変換は特殊です。 strconv パッケージを使用すると、文字列と他のデータ型を相互に変換できます。
サンプル コード:

import "strconv"

a := "10"
b, _ := strconv.Atoi(a)
c := strconv.Itoa(b)
ログイン後にコピー

2. カスタム型変換

Go 言語では、type キーワードを使用して新しいデータ型をカスタマイズできます。カスタム型を他のデータ型に変換する必要がある場合は、型変換関数または変換演算子も使用する必要があります。

サンプルコード:

type MyInt int

a := MyInt(10)
b := int(a)
ログイン後にコピー

3. 構造体の型変換

Go 言語では、構造体は複数のフィールドを含めることができる複合データ型です。構造体を別の構造体タイプに変換する必要がある場合は、フィールド間の対応関係に注意する必要があります。

サンプルコード:

type Person struct {
    Name string
    Age  int
}

type Employee struct {
    Name    string
    Age     int
    Company string
}

func main() {
    p := Person{Name: "Alice", Age: 20}
    
    // 将Person类型转换为Employee类型
    e := Employee(p)
    
    fmt.Printf("Name: %s, Age: %d, Company: %s
", e.Name, e.Age, e.Company)
}
ログイン後にコピー

4. 配列とスライスの型変換

Go 言語では、配列とスライスを相互に変換できます。配列をスライスに変換する場合、スライス式
[:] を使用できます。

サンプルコード:

a := [3]int{1, 2, 3}

// 数组转换为切片
b := a[:]

// 切片转换为数组
c := []int{4, 5, 6}
d := [3]int(c)
ログイン後にコピー

概要:

この記事では、Go 言語でのデータ型変換のさまざまな状況を詳しく紹介し、具体的なコード例を示します。実際のプログラミングでは、データ型変換は非常に一般的で重要な操作ですが、この記事が読者の皆様の Go 言語でのデータ型変換の理解と適用に役立つことを願っています。

以上がGo でのデータ型変換の完全ガイド: 基本から始めるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート