values := []string{"hello", "world"} for v, value := range values { fmt.Printf("%s", value); } inter { fmt.Printf(",") } before { fmt.Printf("[") } after { fmt.Println("]") } empty { fmt.Println("(nothing found)") }
In my experience, the complexity comes from the reality of how we write in different writing systems. I think this is inevitable.