Menu
Coddy logo textTech

構造体の初期化

CoddyのGOジャーニー「基礎」セクションの一部 — レッスン 98/109。

Goで構造体を初期化する方法はいくつかあります。最も一般的な方法を見ていきましょう。

フィールド名を使用して構造体を作成します:

type Person struct {
    name string
    age  int
}

func main() {
    // フィールド名で初期化する
    person1 := Person{name: "Alice", age: 30}
    fmt.Println(person1)
}

出力には、初期化された構造体が表示されます:

{Alice 30}

フィールド名なしで構造体を初期化することもできますが、その場合は値を順番に指定する必要があります。

person2 := Person{"Bob", 25}
fmt.Println(person2)

結果:

{Bob 25}

ゼロ値を持つ空の構造体を作成します:

person3 := Person{}
fmt.Println(person3)

結果:

{  0}
challenge icon

チャレンジ

初心者

このチャレンジでは、Goで構造体を初期化する練習をします。名前、年齢、および雇用されているかどうかを表すフィールドを持つ Person 構造体を定義しました。

あなたのタスクは、以下の情報を使用して新しい Person 構造体のインスタンスを初期化することです:

  • Name: "Alice"
  • Age: 28
  • IsEmployed: true

その後、この人物に関する情報を出力します。

チートシート

Goで構造体を初期化する方法はいくつかあります:

フィールド名で初期化する:

person1 := Person{name: "Alice", age: 30}

フィールド名なしで初期化する(値は順番通りである必要があります):

person2 := Person{"Bob", 25}

ゼロ値で空の構造体を作成する:

person3 := Person{}

自分で試してみよう

package main

import "fmt"

// Person 構造体の定義
type Person struct {
	Name       string
	Age        int
	IsEmployed bool
}

func main() {
	// TODO: 名前 "Alice"、年齢 28、isEmployed を true として Person 構造体を初期化する
	// フィールド名を使用するか、構造体リテラル構文を使用してください
	var alice Person
	
	// 人物の情報を表示する
	fmt.Printf("Name: %s\n", alice.Name)
	fmt.Printf("Age: %d\n", alice.Age)
	fmt.Printf("Employed: %t\n", alice.IsEmployed)
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン