Golangの型switchについて具体的なコード例で解説します

Golang

Goの型switchは、switch文と同じように型を使ったものです。

本記事では、Golangの型switchについて詳しく説明します。また、switch文についてもまとめて解説します。

switch文とは?

switch文は、ある条件にマッチするかどうかをチェックし、そのマッチした値に対して特定のコードを実行する制御構文です。

switch文は、if-elseブロックのように動作します。

package main

import (
	"fmt"
)

func test(s string) {
	switch s {
	case "a":
		fmt.Println("A")
	case "b":
		fmt.Println("B")
	case "c":
		fmt.Println("C")
	case "d":
		fmt.Println("D")
	default:
		fmt.Println("Hello, World")
	}
}

func main() {
	test("b")   // B
	test("abc") // Hello, World
}

上記のコードでは、最初に渡される値は “b”であり、2番目のcase文にマッチします。

その次の”abc”では、どのケースにもマッチしません。

型switchの使い方

型switchは、通常の値の代わりに、ンターフェース値の形でタイプを指定するスイッチブロックです。

そして、その型を照合してチェックし、演算を実行します。

以下は型switchを使用したコード例です。

package main

import (
	"fmt"
)

func test(i interface{}) string {
	switch i.(type) {
	case string:
		return "string"
	case int:
		return "number"
	default:
		return "Other"
	}
}

func main() {
	var a interface{} = "文字列です"
	fmt.Println(test(a)) // string
}

なぜ型switchは重要なのか?

型switchを使うと、特定の型に対して特定の処理を実行することができます。

これにより、コードを簡潔かつ正しく書くことができるため、非常に重要な機能です。

型switchとswitch case構文

型switchは、switch case構文と大差ありません。型スイッチが型のチェックと型固有のコードの実行に使われることを除けば、本質的に同じものです。

これが型switchを本当に便利にしている点です。

一方で、通常のスイッチは型を使わずに値を使用します。

Golangにおける型switchの使う場面

if-elseブロックが値の型と一緒に使われようとしているところでは、型switchも使うことができます。

タイトルとURLをコピーしました