doc.dev1x.org

GoによるUnion型の実装

サンプルコード

package main

import "fmt"

type Union[T any] struct {
    value T
}

func main() {
    u1 := Union[int]{value: 42}
    u2 := Union[string]{value: "Hello, World!"}

    fmt.Println(u1.value) // 42
    fmt.Println(u2.value) // Hello, World!
}

参考資料