ジェネリック インターフェイスを作成しますが、任意の型を許可しません。
```go
type AllowedPositions interface {
int64 | float64 | string
}
type Position[T AllowedPositions] struct {
X, Y, Z T
}
type Entity[T AllowedPositions] interface {
GetPosition() Position[T]
UpdatePosition(Position[T]) Position[T]
}
type Player[T AllowedPositions] struct {
position Position[T]
}
func (p *Player[T]) GetPosition() Position[T] {
return p.position
}
func (p *Player[T]) UpdatePosition(position Position[T]) Position[T] {
p.position = position
return p.position
}
```
Instead of using "any" type, this is more type safety way to handle generics in golang.
この記事が気に入ったらサポートをしてみませんか?