Geen omschrijving

print.go 745B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package main
  2. import "fmt"
  3. /**
  4. // PRINT OMIT
  5. func Print(s []T) { // T is a type parameter
  6. for _, v := range s {
  7. fmt.Println(v)
  8. }
  9. }
  10. // PRINT OMIT
  11. **/
  12. // GEN OMIT
  13. func Print[T any](s []T) {
  14. for _, v := range s {
  15. fmt.Println(v)
  16. }
  17. }
  18. // GEN OMIT
  19. func main() {
  20. // CALL OMIT
  21. Print[int]([]int{1, 2, 3, 4})
  22. Print[int32]([]int32{1, 2, 3, 4})
  23. // CALL OMIT
  24. }
  25. /**
  26. // CALL MULTI PARAMS OMIT
  27. func Index[K comparable,V any](m map[K]V, k K) V {
  28. return m[k]
  29. }
  30. Index[int,string](map[int]string{1:"hello"}, 1)
  31. // CALL MULTI PARAMS OMIT
  32. */
  33. func dummy() {
  34. // CALL TYPE OMIT
  35. Print([]int{1, 2, 3})
  36. // CALL TYPE OMIT
  37. // COMPLETE CALL OMIT
  38. Print[int]([]int{1, 2, 3})
  39. // COMPLETE CALL OMIT
  40. }