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.

Reply via email to