add: slice internals backing array and slice header
This commit is contained in:
		| @@ -0,0 +1,44 @@ | ||||
| // For more tutorials: https://blog.learngoprogramming.com | ||||
| // | ||||
| // Copyright © 2018 Inanc Gumus | ||||
| // Learn Go Programming Course | ||||
| // License: https://creativecommons.org/licenses/by-nc-sa/4.0/ | ||||
| // | ||||
|  | ||||
| package main | ||||
|  | ||||
| import s "github.com/inancgumus/prettyslice" | ||||
|  | ||||
| func main() { | ||||
| 	// ages, first and last2 have the same backing arrays | ||||
| 	ages := []int{35, 15, 25} | ||||
| 	first := ages[0:1] | ||||
| 	last2 := ages[1:3] | ||||
|  | ||||
| 	ages[0] = 55 | ||||
| 	ages[1] = 10 | ||||
| 	ages[2] = 20 | ||||
|  | ||||
| 	// grades and ages have separate backing arrays | ||||
| 	grades := []int{70, 99} | ||||
| 	grades[0] = 50 | ||||
|  | ||||
| 	s.Show("ages", ages) | ||||
| 	s.Show("ages[0:1]", first) | ||||
| 	s.Show("ages[1:3]", last2) | ||||
| 	s.Show("grades", grades) | ||||
|  | ||||
| 	// let's create a new scope | ||||
| 	// 'cause i'm going to use variables with the same name | ||||
| 	{ | ||||
| 		// ages and agesArray have the same backing arrays | ||||
| 		agesArray := [3]int{35, 15, 25} | ||||
| 		ages := agesArray[0:3] | ||||
|  | ||||
| 		ages[0] = 100 | ||||
| 		ages[2] = 50 | ||||
|  | ||||
| 		s.Show("agesArray", agesArray[:]) | ||||
| 		s.Show("agesArray's ages", ages) | ||||
| 	} | ||||
| } | ||||
		Reference in New Issue
	
	Block a user