Find element in a slice and move it to first position?
Example
package main
import (
"fmt"
)
func main() {
sliceInt := []int{11,2, 19, 220, 31, 5, 65, 70, 100}
find:=65
fmt.Println(sliceInt)
if len((sliceInt)) == 0 || (sliceInt)[0] == find {
fmt.Println(sliceInt)
return
}
if (sliceInt)[len(sliceInt)-1] == find {
(sliceInt) = append([]int{find}, (sliceInt)[:len(sliceInt)-1]...)
fmt.Println(sliceInt)
return
}
for p, x := range sliceInt {
if x == find {
(sliceInt) = append([]int{find}, append((sliceInt)[:p], (sliceInt)[p+1:]...)...)
break
}
}
fmt.Println(sliceInt)
}
Output
[11 2 19 220 31 5 65 70 100]
[65 11 2 19 220 31 5 70 100]
Most Helpful This Week
How to use wildcard or a variable in our URL for complex routing?
How to wait for Goroutines to Finish Execution?
How pointer & and * and ** works in Golang?
Select single argument from all arguments of variadic function
Example to handle GET and POST request in Golang
Different ways to convert Byte Array into String
How to Remove duplicate values from Slice?
Golang HTTP GET request with parameters
How to convert Boolean Type to String in Go?
How to print string with double quote in Go?