package main
import "fmt"
func CreateNewSquareMatrix(N int) ([][]float64, error) {
if N < 0 {
return nil, fmt.Errorf("Invalid size %d: cannot be negative", N)
}
matrix := make([][]float64, N)
for i := range matrix {
matrix[i] = make([]float64, N)
}
return matrix, nil
}
func main() {
N1 := 4
matrix1, err1 := CreateNewSquareMatrix(N1)
if err1 == nil {
fmt.Println(matrix1)
} else {
fmt.Println(err1)
}
N2 := -3
matrix2, err2 := CreateNewSquareMatrix(N2)
if err2 == nil {
fmt.Println(matrix2)
} else {
fmt.Println(err2)
}
}
/*
run:
[[0 0 0 0] [0 0 0 0] [0 0 0 0] [0 0 0 0]]
Invalid size -3: cannot be negative
*/