Skip to content

Instantly share code, notes, and snippets.

@zerogvt
Created February 5, 2019 17:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zerogvt/3037a4a5002f0927938a3382f877f7fc to your computer and use it in GitHub Desktop.
Save zerogvt/3037a4a5002f0927938a3382f877f7fc to your computer and use it in GitHub Desktop.
/*
Exercise: Slices
Implement Pic. It should return a slice of length dy, each element of which is a slice of dx 8-bit unsigned integers. When you run the program, it will display your picture, interpreting the integers as grayscale (well, bluescale) values.
The choice of image is up to you. Interesting functions include (x+y)/2, x*y, and x^y.
(You need to use a loop to allocate each []uint8 inside the [][]uint8.)
(Use uint8(intValue) to convert between types.)
https://tour.golang.org/moretypes/18
*/
package main
import "golang.org/x/tour/pic"
func Pic(dx, dy int) [][]uint8 {
img := make([][]uint8, dy, dy)
for i:= range img {
img[i] = make([]uint8, dx, dx)
}
for i := range img {
for j := range img[i] {
img[i][j] = (uint8)(i*j)/2
}
}
return img
}
func main() {
pic.Show(Pic)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment