Closed1

[Go] Generics

yagi_engyagi_eng

参考

使ってみた

簡単な使い方

// Pointer T型引数のポインタを返す
func Pointer[T any](v T) *T {
	return &v
}

これはできない

// invalid operation: cannot use type assertion on type parameter value res (variable of type T constrained by number)
func NumberToString[T number](val T) string {
	if v, ok := val.(int); ok {
		return strconv.Itoa(v)
	}
	return ""
}

compareble使うやつ

func Contains[T comparable](list []T, target T) bool {
	for _, v := range list {
		if v == target {
			return true
		}
	}
	return false
}

準標準のmapsパッケージ使ってみた
https://go.dev/play/p/hB8zaB1i07A

このスクラップは2022/03/23にクローズされました