100-go-mistakes/3-data-types/21-slice-init/main.go
2021-12-27 15:56:17 +01:00

38 lines
581 B
Go

package main
func convertEmptySlice(foos []Foo) []Bar {
bars := make([]Bar, 0)
for _, foo := range foos {
bars = append(bars, fooToBar(foo))
}
return bars
}
func convertGivenCapacity(foos []Foo) []Bar {
n := len(foos)
bars := make([]Bar, 0, n)
for _, foo := range foos {
bars = append(bars, fooToBar(foo))
}
return bars
}
func convertGivenLength(foos []Foo) []Bar {
n := len(foos)
bars := make([]Bar, n)
for i, foo := range foos {
bars[i] = fooToBar(foo)
}
return bars
}
type Foo struct{}
type Bar struct{}
func fooToBar(foo Foo) Bar {
return Bar{}
}