Simple webservice written in Golang without any 3rd party library to process a matrix from csv file and perform some operations.
-
Echo
- Return the matrix as a string in matrix format.
-
Invert
- Return the matrix as a string in matrix format where the columns and rows are inverted
-
Flatten
- Return the matrix as a 1 line string, with values separated by commas.
-
Sum
- Return the sum of the integers in the matrix
-
Multiply
- Return the product of the integers in the matrix
Test API with curl
curl -F 'file=@matrix_sample.csv' -v http://localhost:8080/echo
1,2,3
4,5,6
7,8,9
curl -F 'file=@matrix_sample.csv' -v http://localhost:8080/flatten
1,2,3,4,5,6,7,8,9
curl -F 'file=@matrix_sample.csv' -v http://localhost:8080/invert
1,4,7
2,5,8
3,6,9
curl -F 'file=@matrix_sample.csv' -v http://localhost:8080/sum
45
curl -F 'file=@matrix_sample.csv' -v http://localhost:8080/multiply
362880
go get github.com/iwollmann/gostudy
- Docker Compose
docker-compose up
go1.16.2 linux/amd64