Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save hygull/8eb1a9d743f828e285ff9ef6617c6a47 to your computer and use it in GitHub Desktop.

Select an option

Save hygull/8eb1a9d743f828e285ff9ef6617c6a47 to your computer and use it in GitHub Desktop.
To separate a list of intergers into 3 different slices(based on +ve, -ve and 0) created by hygull - https://repl.it/ExUw/2
/*
DATE OF CREATION : 27/12/2016
AIM OF PROGRAM : To separate a list of intergers into 3 different slices(based on +ve, -ve and 0)
CODED BY : RISHIKESH AGRAWANI
*/
package main
import "fmt"
func integersSeparator(integersList []int) ([]int, []int, []int) {
//Defining 3 slices to hold list of +ve, -ve integers and zeros
positiveIntegersList := []int{}
negativeIntegersList := []int{}
zerosList := []int{}
for _, num := range integersList { //To itrate over the list of integers
if num < 0 {
negativeIntegersList = append(negativeIntegersList, num) //Appending +ve integers
} else if num > 0 {
positiveIntegersList = append(positiveIntegersList, num) //Appending -ve integers
} else {
zerosList = append(zerosList, num) //Appending 0s
}
}
return negativeIntegersList, zerosList, positiveIntegersList
}
func main() {
pis, nis, zis := integersSeparator([]int{34, 0, -9, 23, 98, 0, -3, 1, -8, 9, 0, 98, -3, -5, 4, -27, -54, 76, 0, -67})
fmt.Println(pis, "\n", nis, "\n", zis)
fmt.Println("\n")
pis1, nis1, zis1 := integersSeparator([]int{-34, 0, -9, 23, -98, 0, -3, 1, 90, -5})
fmt.Println(pis1, "\n", nis1, "\n", zis1)
}
/*
[-9 -3 -8 -3 -5 -27 -54 -67]
[0 0 0 0]
[34 23 98 1 9 98 4 76]
[-34 -9 -98 -3 -5]
[0 0]
[23 1 90]
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment