Ingen beskrivning

type_inference.go 523B

123456789101112131415161718192021222324252627282930
  1. // MAP OMIT
  2. func Map[F, T any](s []F, f func(F) T) []T { ... }
  3. // MAP OMIT
  4. // MAP CALL OMIT
  5. var s []int
  6. f := func(i int) int64 { return int64(i) }
  7. var r []int64
  8. // Specify both type arguments explicitly.
  9. r = Map[int, int64](s, f)
  10. // Specify just the first type argument, for F,
  11. // and let T be inferred.
  12. r = Map[int](s, f)
  13. // Don't specify any type arguments, and let both be inferred.
  14. r = Map(s, f)
  15. // MAP CALL OMIT
  16. // ERR OMIT
  17. func Double[T interface{ ~int }](v T) T {
  18. return v * 2
  19. }
  20. Double(1) //
  21. // ERR OMIT