// Playground for https://stackoverflow.com/a/56699658/11458991
package main
import (
"fmt"
"strings"
)
// RowID stores the ID of a single row in a table. An ID can be a composite of multiple columns
type RowID []string
// String implements Stringer interface for RowID
func (r RowID) String() string {
return fmt.Sprintf("[%s]", strings.Join(r, ", "))
}
func PrintChange(id fmt.Stringer) {
fmt.Println(id)
}
func main() {
rowIDs := []RowID{
{"1", "2"},
{"22"},
}
PrintChange(rowIDs[0])
for _, id := range rowIDs { fmt.Println(id) }
}
Ly8gUGxheWdyb3VuZCBmb3IgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzU2Njk5NjU4LzExNDU4OTkxCgpwYWNrYWdlIG1haW4KCmltcG9ydCAoCgkiZm10IgoJInN0cmluZ3MiCikKCi8vIFJvd0lEIHN0b3JlcyB0aGUgSUQgb2YgYSBzaW5nbGUgcm93IGluIGEgdGFibGUuIEFuIElEIGNhbiBiZSBhIGNvbXBvc2l0ZSBvZiBtdWx0aXBsZSBjb2x1bW5zCnR5cGUgUm93SUQgW11zdHJpbmcKCi8vIFN0cmluZyBpbXBsZW1lbnRzIFN0cmluZ2VyIGludGVyZmFjZSBmb3IgUm93SUQKZnVuYyAociBSb3dJRCkgU3RyaW5nKCkgc3RyaW5nIHsKCXJldHVybiBmbXQuU3ByaW50ZigiWyVzXSIsIHN0cmluZ3MuSm9pbihyLCAiLCAiKSkKfQoKZnVuYyBQcmludENoYW5nZShpZCBmbXQuU3RyaW5nZXIpIHsKCWZtdC5QcmludGxuKGlkKQp9CgpmdW5jIG1haW4oKSB7Cglyb3dJRHMgOj0gW11Sb3dJRHsKCQl7IjEiLCAiMiJ9LAoJCXsiMjIifSwKCX0KCglQcmludENoYW5nZShyb3dJRHNbMF0pCgkKCWZvciBfLCBpZCA6PSByYW5nZSByb3dJRHMgeyBmbXQuUHJpbnRsbihpZCkgfQp9