On Sat, Jan 25, 2020 at 9:55 AM Kaleemullah Software Engineer <kaleemullah...@gmail.com> wrote: > > > When i change the value U at 0 index , It changes the value of t and u at > zero index why it is not changing the value of S. Please Explain I got stuck > here. > > > > > package main > > import ( > "fmt" > ) > > func main() { > > var s []int > var t []int > s= make([]int,3)
Here, you allocate a slice with cap=3, > s[0]=100 > s[1]=200 > s[2]=300 > t=append(s,400) Here, you append an element to s, which has cap=3, so a new slice is allocated with larger cap, that becomes t. s still has cap=3 and it has its three elements. t has 4 elements, > fmt.Println(s,len(s),cap(s)) > fmt.Println(t,len(t),cap(t)) > var u []int > u=append(t,500) Here, you append an element to t, and apparently t has capacity, so it does not reallocate a new array. t and u are pointing to the same underlying array, with len(t)=4 and len(u)=5 > fmt.Println(u,len(u),cap(u)) > u[0]=9999 This sets the first element of the underlying array for t and u. > fmt.Println("//////////////////////") > > fmt.Println(s,len(s),cap(s)) > fmt.Println(t,len(t),cap(t)) > fmt.Println(u,len(u),cap(u)) > } > > > -- > You received this message because you are subscribed to the Google Groups > "golang-nuts" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to golang-nuts+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/golang-nuts/83571b55-1834-4aa8-994d-bc99df4ab0ee%40googlegroups.com. -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/CAMV2RqqkJhh9kU4hjks8XVd4G-gejPX6w5xC%3DJD29FiFeWCFjg%40mail.gmail.com.