I am trying to write some machine learning code in golang. I can't figure a way to have a function deal with a slice of N dimensions, as different dimensions would need to return different types. Here is an example function that splits a 2d slice into test/training sets.
func SplitData(data [][]int, testPerc float32) ([][]int, [][]int) {
size := len(data)
testSlice := int(float32(size) * testPerc)
return data[0:testSlice], data[testSlice:]
}
In python I do not need to worry about the dimensions of the array. Is there a "golang" way to deal with this?
EDIT: I understand there are not generics in golang. My question was more about solutions outside of generics such as what the accepted answer has pointed to.