From 38ec166c555984fd4c02a810e6f64bade306bd00 Mon Sep 17 00:00:00 2001 From: rwxrob Date: Sat, 26 Feb 2022 00:42:23 -0500 Subject: [PATCH] Add loop.Print and loop.Printf --- loop/loop.go | 10 ++++++++++ loop/loop_test.go | 18 ++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/loop/loop.go b/loop/loop.go index 899f810..b06de7a 100644 --- a/loop/loop.go +++ b/loop/loop.go @@ -20,3 +20,13 @@ func Do[T any](set []T, p func(i T) error) error { func Println[T any](set []T) { Do(set, func(i T) error { fmt.Println(i); return nil }) } + +// Print prints ever element of the set. +func Print[T any](set []T) { + Do(set, func(i T) error { fmt.Print(i); return nil }) +} + +// Printf prints ever element of the set using format string. +func Printf[T any](set []T, form string) { + Do(set, func(i T) error { fmt.Printf(form, i); return nil }) +} diff --git a/loop/loop_test.go b/loop/loop_test.go index 849ec3e..8460ab9 100644 --- a/loop/loop_test.go +++ b/loop/loop_test.go @@ -15,3 +15,21 @@ func ExamplePrintln() { // true // true } + +func ExamplePrint() { + set := []string{"doe", "ray", "mi"} + loop.Print(set) + bools := []bool{false, true, true} + loop.Print(bools) + // Output: + // doeraymifalsetruetrue +} + +func ExamplePrintf() { + set := []string{"doe", "ray", "mi"} + loop.Printf(set, "sing %v\n") + // Output: + // sing doe + // sing ray + // sing mi +}