Nav apraksta

use_constraints.go 676B

12345678910111213141516171819202122232425262728293031323334
  1. package main
  2. // STR OMIT
  3. // Stringify calls the String method on each element of s,
  4. // and returns the results.
  5. func Stringify[T Stringer](s []T) (ret []string) {
  6. for _, v := range s {
  7. ret = append(ret, v.String())
  8. }
  9. return ret
  10. }
  11. // STR OMIT
  12. // PRT OMIT
  13. // Print2 has two type parameters and two non-type parameters.
  14. func Print2[T1, T2 any](s1 []T1, s2 []T2) { /**...*/ }
  15. // PRT OMIT
  16. // CONCAT OMIT
  17. type Stringer interface{ String() string }
  18. type Plusser interface{ Plus(string) string }
  19. func ConcatTo[S Stringer, P Plusser](s []S, p []P) []string {
  20. r := make([]string, len(s))
  21. for i, v := range s {
  22. r[i] = p[i].Plus(v.String())
  23. }
  24. return r
  25. }
  26. // CONCAT OMIT