title: golang runtime error: index out of range
body: <p>I have a simple for loop in go which iterates through a slice of integers and changes the position of the current if next is smaller basically a sort, but it keeps showing me this error which says </p>
  
  <pre><code>panic: runtime error: index out of range
  </code></pre>
  
  <p>Here is the code:</p>
  
  <pre><code>func sort(n int, l []int) interface{} {
      fmt.Println(l)
      if d == false {
          d = true
          for i := range l {
              n := i + 1
              t := l[i]
              l[i] = l[n]
              l[n] = t
              arr = l
              d = false
          }
          return sort(n, arr)
      }
      return arr
  }
  </code></pre>
  
  <p>Returned arr is declared as a global variable.
  Here is the error:</p>
  
  <pre><code>panic: runtime error: index out of range
  
  goroutine 1 [running]:
  main.troubleSort(0x5, 0xc42001a150, 0x5, 0x5, 0x0, 0xc42000e1d0)
          /home/julkreshpaj/codejam/Trouble Sort/Solution.go:21 +0x1c1
  main.main()
          /home/julkreshpaj/codejam/Trouble Sort/Solution.go:60 +0x82
  exit status 2
  </code></pre>