Golang は近年急速に発展を続けており、多くの開発者にとって好まれるプログラミング言語の 1 つとなっています。 Golang の多くの文法構造の中で、switch ステートメントは間違いなく非常に重要な部分です。ただし、多くの開発者は最も単純な switch ステートメントしか使用せず、switch ステートメントのさらなる応用スキルについてはあまり知りません。この記事では、読者が switch ステートメントをよりよく理解し、適用できるように、Golang 関数での switch ステートメントの一般的な応用テクニックをいくつか紹介します。
一般的な switch ステートメントでは式を提供し、プログラムが式の値に基づいてどのケースを実行するかを決定できるようにします。声明。ただし、Golang では、式のない switch ステートメントを使用して、条件を満たす最初の case ステートメントにプログラムをジャンプさせることができます。以下に例を示します。
package main import "fmt" func main() { i := 3 switch { case i < 3: fmt.Println("i is less than 3") case i == 3: fmt.Println("i is equal to 3") case i > 3: fmt.Println("i is greater than 3") } }
i の値に従って、プログラムは「i は 3 に等しい」と出力します。この機能は、複数の条件を順番に評価する必要があるが、複数の if ステートメントを使用したくない場合に非常に便利です。
一般的な switch ステートメントでは、式を 1 つだけ使用できます。ただし、Golang では、カンマで区切って複数の式を使用できます。以下は例です。
package main import "fmt" func main() { i, j := 3, 4 switch i, j { case 1, 2: fmt.Println("i is either 1 or 2") case 3, 4: fmt.Println("i is either 3 or 4") } }
i と j の値に従って、プログラムは「i は 3 または 4 です」と出力します。この機能は、複数の条件を判断する必要があるが、各条件が相互に排他的ではない場合に非常に役立ちます。
Golang では、型アサーションを使用して値の型を決定できます。したがって、switch ステートメントでは、型アサーションを使用して型判定を行うこともできます。以下は例です:
package main import "fmt" func main() { var i interface{} = 1 switch i.(type) { case int: fmt.Println("i is an int") case float64: fmt.Println("i is a float64") case string: fmt.Println("i is a string") } }
プログラムは「i は int です」と出力します。この機能は、さまざまな種類の値を判断する必要がある場合に非常に役立ちます。
Golang では、フォールスルー キーワードを使用して、プログラムに条件判断なしで次の case ステートメントを実行させることができます。以下は例です:
package main import "fmt" func main() { i := 1 switch i { case 1: fmt.Println("i is 1") fallthrough case 2: fmt.Println("i is 2") } }
プログラムは「i is 1」と「i is 2」を出力します。この機能は、複数の case ステートメントを実行する必要がある場合に非常に便利です。
一般的な switch ステートメントでは、case ステートメントの条件がいずれも満たされない場合、プログラムは switch ステートメントを終了します。ただし、Golang では、switch ステートメントで default ステートメントを使用して、このような状況に対処できます。以下は例です:
package main import "fmt" func main() { i := 5 switch i { case 1: fmt.Println("i is 1") case 2: fmt.Println("i is 2") default: fmt.Println("i is neither 1 nor 2") } }
プログラムは「i は 1 でも 2 でもありません」と出力します。この機能は、ある種の状況を処理する必要があるが、特定の条件判断がない場合に非常に役立ちます。
Golang では、switch ステートメントを関数の戻り値として使用できます。この機能はプログラムをより簡潔で読みやすくするため、非常に便利です。以下は例です:
package main import "fmt" func main() { i, j := 1, 2 switch { case i < j: fmt.Printf("%d is less than %d ", i, j) case i == j: fmt.Printf("%d is equal to %d ", i, j) case i > j: fmt.Printf("%d is greater than %d ", i, j) } }
プログラムは「1 は 2 より小さい」と出力します。この機能は、さまざまなタイプの値を返す必要がある状況で非常に役立ちます。
要約すると、Golang 関数の switch ステートメントの応用スキルは非常に豊富で、必要に応じてこれらのスキルを柔軟に使用して、プログラムをより合理化、効率的、読みやすくすることができます。
以上がGolang 関数 switch ステートメントの応用スキルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。