Go 関数でのデフォルト値の設定
Go は関数パラメータにデフォルト値を指定するネイティブな方法を提供しませんが、いくつかの代替アプローチを使用できます。この機能を実現します。
オプション 1: 呼び出し元制御デフォルト
このアプローチでは、呼び出し元はパラメータが空かゼロかをチェックすることでデフォルト値を明示的に指定できます。例:
func SaySomething(i string) string { if i == "" { i = "Hello" } return i }
オプション 2: オプションのパラメーター
パラメーターをパラメーター リストの最後に置くことで、パラメーターをオプションとして定義できます。この場合、引数が指定されていない場合、関数はデフォルト値を使用します。
func Concat(a string, b int) string { if b == 0 { b = 5 } return a + strconv.Itoa(b) }
オプション 3: 構成構造体
デフォルト値を使用して構造体を作成します。関数のパラメータ。これにより、デフォルトを設定するための宣言的な方法が提供されます。
type Config struct { Name string `default:"John Doe"` Age int `default:"0"` } func Greet(c Config) string { return fmt.Sprintf("Hello, %s! You are %d years old.", c.Name, c.Age) }
オプション 4: 可変引数
このアプローチにより、受信した引数を解析し、それに応じてデフォルト値を設定できます。
func ProcessArgs(args ...interface{}) { a := "default-a" b := 5 for _, arg := range args { switch v := arg.(type) { case string: a = v case int: b = v } } // Use a and b }
以上がGo で関数パラメータのデフォルト値を設定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。