ホームページ > バックエンド開発 > Golang > Golangの型変換を詳しく解説:入門から習熟まで

Golangの型変換を詳しく解説:入門から習熟まで

PHPz
リリース: 2024-02-26 08:06:05
オリジナル
645 人が閲覧しました

Golangの型変換を詳しく解説:入門から習熟まで

Golang での型変換は、特に異なるデータ型間の変換を扱う場合によく使用される操作です。この記事では、基本概念から高度なアプリケーションまで、Golang の型変換に関する関連知識の詳細な分析を読者に提供し、具体的なコード例を示します。

1. 基本概念

Golang では、型変換は、ある型の値を別の型の値に変換するプロセスです。 Golang での型変換は明示的に行う必要があり、通常はかっこと変換する型を使用します。 Golang では暗黙的な型変換が許可されていないため、型変換を実行する前に型の互換性を確認する必要があることに注意してください。

型変換の基本的な構文は次のとおりです。

newType := desiredType(expression)
ログイン後にコピー

このうち、desiredType は変換対象の型を表し、expression は変換対象の型を表します。変換する式。モード。

2. 基本的な型変換

1. 整数変換

Golang における整数型間の変換は比較的単純で簡単です。ターゲットの型をクリックするだけで追加できます。 。例:

var a int = 10
var b int64 = int64(a)
fmt.Println(b)
ログイン後にコピー

2. 浮動小数点型変換

浮動小数点型間の変換も整数型と同様で、変換する浮動小数点型の前にターゲットの型を追加するだけで済みます。 。例:

var x float32 = 3.14
var y float64 = float64(x)
fmt.Println(y)
ログイン後にコピー

3. 文字列変換

文字列変換は通常、文字列と他の基本型の間で発生します。文字列を別の型に変換する一般的な方法は、strconv パッケージの関数を使用することです。例:

str := "123"
num, _ := strconv.Atoi(str)
fmt.Println(num)
ログイン後にコピー

3. 複合型の変換

1. 配列とスライスの変換

配列とスライス間の変換では、配列を走査して要素を 1 つずつコピーする必要があります。たとえば、配列をスライスに変換します:

arr := [3]int{1, 2, 3}
slice := arr[:]
fmt.Println(slice)
ログイン後にコピー

2. 構造変換

2 つの構造のフィールド タイプが同じであり、数値が同じであれば、構造間の変換を直接割り当てることができます。フィールドも同じです。例:

type Person struct {
    Name string
    Age int
}

type Employee struct {
    Name string
    Age int
}

person := Person{"Alice", 30}
employee := Employee(person)
fmt.Println(employee)
ログイン後にコピー

4. 高度なアプリケーション

1. インターフェイス型アサーション

インターフェイス型変換は、Golang の最も重要な機能の 1 つです。型アサーションを介してインターフェイスを特定の型に変換し、それを変換します。例:

var i interface{} = "hello"
str, ok := i.(string)
if ok {
    fmt.Println(str)
}
ログイン後にコピー

2. カスタム型の変換

Golang では、type キーワードを使用してカスタム型を作成でき、カスタム型の変換も同様です。共通の操作。例:

type MyInt int
var num MyInt = 10
newNum := int(num)
fmt.Println(newNum)
ログイン後にコピー

上記は、Golang の型変換の基本概念、基本的な型変換、複合型変換、およびいくつかの高度な応用例です。この記事の分析を通じて、読者は Golang における型変換の関連知識をより深く理解し、実際の開発で柔軟に活用することができます。この記事を読んで、Golang の型変換についてより明確に理解していただければ幸いです。

以上がGolangの型変換を詳しく解説:入門から習熟までの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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