Menu
Coddy logo textTech

構造体の初期化

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

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

field 名を持つ struct を作成します:

type Person struct {
    name string
    age  int
}

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

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

{Alice 30}

フィールド名なしでstructを初期化することもできますが、値は順番に指定する必要があります:

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

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

自分で試してみよう

package main

import "fmt"

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

func main() {
	// TODO: Initialize a Person struct with name "Alice", age 28, and isEmployed true
	// フィールド名または構造体リテラル構文のいずれかを使用する
	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腕試し

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

基礎のすべてのレッスン

自分で練習してみよう: Goオンラインコンパイラ