Golangのネスト構造

Golangの構造体は、異なる型の要素のグループを 1 つのユニットに作成できるユーザー定義型です。いくつかのプロパティまたはフィールドのセットを持つ現実世界のエンティティはすべて、構造体として表現できます。

Golangのネスト構造

Golangでネスト構造を使う方法

Go 言語ではネストされた構造が許可されます。別の構造体のフィールドである構造体は、ネストされた構造体と呼ばれます。つまり、ある構造の中に別の構造がある状態をネスト構造と呼びます。構文:

type struct_name_1 struct{
  // Các trường
} 
type struct_name_2 struct{
  variable_name  struct_name_1

}

Golang のネストされた構造を理解するには、次の例を検討してください。

例1:

// Chương trình Go minh hoạc
// cấu trúc lồng nhau
package main

import "fmt"

// Tạo cấu trúc
type Author struct {
	name string
	branch string
	year int
}

// Tạo cấu trúc lòng nhau
type HR struct {

	// cấu trúc là một trường
	details Author
}

func main() {

	// Khởi tạo các trường
	// của cấu trúc
	result := HR{
	
		details: Author{"Sona", "ECE", 2013},
	}

	// Hiện giá trị
	fmt.Println("\nDetails of Author")
	fmt.Println(result)
}

結果:

Details of Author
{{Sona ECE 2013}}

例2:

// Chương trình Golang minh họa
// cấu trúc lồng nhau
package main

import "fmt"

// Tạo cấu trúc
type Student struct {
	name string
	branch string
	year int
}

// Tạo cấu trúc lồng nhau
type Teacher struct {
	name string
	subject string
	exp	 int
	details Student
}

func main() {

	// Khởi tạo các trường
	// của cấu trúc
	result := Teacher{
		name: "Suman",
		subject: "Java",
		exp:	 5,
		details: Student{"Bongo", "CSE", 2},
	}

	// Hiện giá trị
	fmt.Println("Details of the Teacher")
	fmt.Println("Teacher's name: ", result.name)
	fmt.Println("Subject: ", result.subject)
	fmt.Println("Experience: ", result.exp)

	fmt.Println("\nDetails of Student")
	fmt.Println("Student's name: ", result.details.name)
	fmt.Println("Student's branch name: ", result.details.branch)
	fmt.Println("Year: ", result.details.year)
}

結果:

Details of the Teacher
Teacher's name:  Suman
Subject:  Java
Experience:  5

Details of Student
Student's name:  Bongo
Student's branch name:  CSE
Year:  2

例3:

Go では、構造体に、ネストされた構造体と呼ばれる、それ自体が構造体であるフィールドを含めることができます。ネストされた構造を持つ構造体の例を次に示します。

package main

import (
	"fmt"
)

type Address struct {
	Street	 string
	City	 string
	State	 string
	PostalCode string
}

type Person struct {
	FirstName string
	LastName string
	Age	 int
	Address Address
}

func main() {
	p := Person{
		FirstName: "John",
		LastName: "Doe",
		Age:	 30,
		Address: Address{
			Street:	 "123 Main St",
			City:	 "Anytown",
			State:	 "CA",
			PostalCode: "12345",
		},
	}

	fmt.Println(p.FirstName, p.LastName)
	fmt.Println("Age:", p.Age)
	fmt.Println("Address:")
	fmt.Println("Street:", p.Address.Street)
	fmt.Println("City:", p.Address.City)
	fmt.Println("State:", p.Address.State)
	fmt.Println("Postal Code:", p.Address.PostalCode)
}

結果:

John Doe
Age: 30
Address:
Street: 123 Main St
City: Anytown
State: CA
Postal Code: 12345

ここでは、Person と Address という 2 つの構造体型を定義します。 Person には、Address と呼ばれるネストされた構造体フィールドがあります。メイン関数では、Address フィールドを持つ新しい Person インスタンスを作成します。次に、ドット表記を使用して、Person 構造体と Address 構造体のさまざまなフィールド値を出力し、ネストされたフィールドにアクセスします。

Leave a Comment

Golangで定数を使う方法

Golangで定数を使う方法

Golang における Constant または Const とは何ですか? Go で定数を使用する際に知っておくべきことを以下に示します。

Golangのvolatile関数

Golangのvolatile関数

Go の可変長関数を使用すると、関数に可変数の引数を渡すことができます。 Golang の volatile 関数について知っておくべきことはすべてここにあります。

Golang の名前付き戻りパラメータ

Golang の名前付き戻りパラメータ

Golang では、名前付き戻りパラメータは、名前付きパラメータと呼ばれることがよくあります。 Golang では、関数のシグネチャまたは定義内で関数の戻りパラメータまたは結果に名前を付けることができます。

Goのキーワード

Goのキーワード

キーワード - キーワードは、何らかの内部プロセスに使用されるか、何らかの事前定義されたアクションを表す言語の単語です。 Golang のキーワードについて知っておくべきことを以下に示します。

Golangのデータ型

Golangのデータ型

データ型は、有効な Go 変数に格納できるデータの型を指定します。 Go 言語では、型は次の 4 つのカテゴリに分類されます。

Golangの関数の引数

Golangの関数の引数

Go は、引数を渡す方法として、値渡しと参照渡しという 2 つの主な方法をサポートしています。 Go では、デフォルトで値渡しが使用されます。

Golangで複数の値を返す関数

Golangで複数の値を返す関数

Go 言語では、return ステートメントを使用して関数から複数の値を返すことができます。つまり、関数では、 return ステートメントは複数の値を返すことができます。

GoのSwitch文

GoのSwitch文

Golang には他のほとんどのプログラミング言語と同様に switch ステートメントがあります。 Golang で switch ステートメントを使用する方法は次のとおりです。

Golangで選択文を使用する際に知っておくべきケース

Golangで選択文を使用する際に知っておくべきケース

この記事では、デッドロックを回避するために default case を使用する方法を学習します。しかし、まず、Golang の select コマンドを使用するときにデッドロックが発生するケースが何であるかを確認しましょう。

Golang の匿名構造体とフィールド

Golang の匿名構造体とフィールド

Golang の匿名構造体は、1 回限りの目的で使用される名前のない一時的な構造体ですが、匿名フィールドでは名前のないフィールドを埋め込むことができます。

GolangでRuneを使う方法

GolangでRuneを使う方法

Golang におけるルーン文字とは何ですか? Golang で Rune を使用するにはどうすればいいですか?この記事でその答えがわかります。

Golangで演算子を使う方法

Golangで演算子を使う方法

演算子を使用すると、オペランドに対してさまざまな種類の演算を実行できます。 Go 言語では、演算子はさまざまな機能に基づいて分類できます。

Golang の void 識別子

Golang の void 識別子

Golang では _(アンダースコア) は空白識別子と呼ばれます。識別子は、識別目的で使用されるプログラム コンポーネントのユーザー定義名です。

Golangで基本的なプログラムを作成する方法

Golangで基本的なプログラムを作成する方法

こんにちは世界!あらゆるプログラミング言語における最初の基本プログラムです。この最初のプログラムは、以下の手順に従って Golang で記述できます。

WindowsにGoをインストールする方法

WindowsにGoをインストールする方法

Golang は Windows に簡単にインストールできます。以下は、Windows に Golang をインストールするための詳細なステップバイステップ ガイドです。

Microsoft Teamsの予期しないダウンロードエラーを修正する方法

Microsoft Teamsの予期しないダウンロードエラーを修正する方法

Microsoft Teamsのダウンロードエラー「予期せぬエラー」でワークフローが滞っていませんか?専門家によるステップバイステップガイドと、クイックフィックスと高度なヒントで、すぐに問題を解決できます。再インストールは不要です!

Teams 会議でブレイクアウト ルームが表示されないのはなぜですか?

Teams 会議でブレイクアウト ルームが表示されないのはなぜですか?

Teams 会議でブレイクアウトルームが表示されなくて困っていませんか?Teams でブレイクアウトルームが表示されない主な原因を解説します。ステップバイステップの解決方法に従って、数分でスムーズに機能するようにしましょう。主催者にも参加者にも最適です!

Microsoft Teams OneDriveのファイル同期エラーの解決

Microsoft Teams OneDriveのファイル同期エラーの解決

Microsoft Teams OneDriveのファイル同期エラーにうんざりしていませんか?ステップバイステップガイドに従って、Microsoft Teams OneDriveのファイル同期エラーを素早く解決しましょう。Teamsチャンネルでのスムーズな共同作業に役立つ実証済みの修正プログラムをご用意しています。今すぐエラーのないファイル同期を実現しましょう!

Microsoft Teams のハードエラーを修正する方法(2026 レジストリ修正)

Microsoft Teams のハードエラーを修正する方法(2026 レジストリ修正)

Microsoft Teamsがハードエラーでクラッシュするのにうんざりしていませんか? わずか数分で解決できる、実績のある2026レジストリ修正プログラムを入手しましょう。ステップバイステップガイド、スクリーンショット、そして永続的な問題解決のためのヒントをご紹介します。最新バージョンで動作します!

Microsoft Teamsチュートリアルヘルプエラーのトラブルシューティング

Microsoft Teamsチュートリアルヘルプエラーのトラブルシューティング

Microsoft Teamsチュートリアルヘルプのエラーでお困りですか?このよくある問題に対する、実証済みのステップバイステップの解決策をご覧ください。キャッシュをクリアし、Teamsを更新するなど、すぐにシームレスなコラボレーションを取り戻しましょう!

Microsoft Teams エラーのトラブルシューティング: 最初に確認すべきこと

Microsoft Teams エラーのトラブルシューティング: 最初に確認すべきこと

Microsoft Teamsでエラーが発生していますか?このMicrosoft Teamsのトラブルシューティングガイドでは、エラーを迅速に解決するための最初のチェックポイントをステップバイステップでご紹介します。接続、キャッシュ、アップデートに関するクイックフィックスで、スムーズなチャットを再開できます。

Microsoft Teams アドインが Outlook に表示されないのはなぜですか?

Microsoft Teams アドインが Outlook に表示されないのはなぜですか?

Outlook に Microsoft Teams アドインが表示されなくて困っていませんか?主な原因と簡単なステップバイステップの修正方法をご紹介します。Teams と Outlook のシームレスな連携を簡単に復元できます。最新バージョンでご利用いただけます。

公共Wi-FiでのMicrosoft Teamsネットワークエラーの解決方法

公共Wi-FiでのMicrosoft Teamsネットワークエラーの解決方法

公共Wi-FiでMicrosoft Teamsのネットワークエラーに悩まされていませんか?VPNの調整、ポートチェック、キャッシュクリアなどの即時修正で、通話や会議をスムーズに復旧できます。ステップバイステップガイドですぐに問題を解決できます。

Microsoft Teams のステータスが「離席中」のままになっているのはなぜですか?

Microsoft Teams のステータスが「離席中」のままになっているのはなぜですか?

Microsoft Teamsのステータスが「離席中」のままになって困っていませんか?アイドルタイムアウトや電源設定など、よくある原因と、すぐに「対応可能」に戻すためのステップバイステップの修正方法をご紹介します。最新のTeams機能にアップデートしました。

Microsoft Teams のようこそ画面の起動ループのトラブルシューティング

Microsoft Teams のようこそ画面の起動ループのトラブルシューティング

Microsoft Teamsのようこそ画面の起動ループに悩まされていませんか?Microsoft Teamsのようこそ画面の起動ループを解消するための実証済みのトラブルシューティング手順をお試しください。キャッシュのクリア、アプリのリセット、再インストールが可能です。数分でシームレスなコラボレーション環境を取り戻せます!

Microsoft Teamsはなぜ遅いのか?2026年にスピードアップするための10のヒント

Microsoft Teamsはなぜ遅いのか?2026年にスピードアップするための10のヒント

Microsoft Teams の遅延にイライラしていませんか?Microsoft Teams が遅い理由を解明し、2026 年に劇的に高速化するための 10 の実証済みヒントを適用して、スムーズなコラボレーションを実現しましょう。

Microsoft Teams のショートカット エラーと起動時のクラッシュを解決する

Microsoft Teams のショートカット エラーと起動時のクラッシュを解決する

Microsoft Teamsのショートカットエラーでワークフローが滞っていませんか?Microsoft Teamsのショートカットエラーや起動時のクラッシュを解決し、スムーズなコラボレーションを実現する実証済みの手順をご紹介します。素早く簡単に解決できる方法を解説しています。

直接リンク経由でMicrosoft Teamsの会議参加エラーを解決する

直接リンク経由でMicrosoft Teamsの会議参加エラーを解決する

Microsoft Teamsの会議参加エラーでお困りですか?直接リンクから解決方法をご確認ください。シームレスに参加するためのクイックフィックス - 技術的なスキルは必要ありません!

Chromebook で Microsoft Teams のログインエラーを修正する方法

Chromebook で Microsoft Teams のログインエラーを修正する方法

Chromebook で Microsoft Teams のログインエラーに困っていませんか?ログイン問題を素早く解決するためのステップバイステップの解決策をご紹介します。キャッシュのクリア、アプリのアップデートなど、スムーズなチームワークを実現しましょう。最新の Chrome OS で動作します!

Teamsカレンダーはどこにありますか?同期の問題のトラブルシューティング

Teamsカレンダーはどこにありますか?同期の問題のトラブルシューティング

Teamsのカレンダーがどこにあるのか分からず困っていませんか?Microsoft Teamsの同期に関する問題をステップバイステップで解決しましょう。専門家のヒントも満載で、カレンダービューを復元して簡単に同期できます。