Go語言從裝有數個整數的slice中篩選出正整數。
下面的filterPositive()
函式接收一個slice參數numbers
及回傳一個slice。函式中宣告一個空的整數slice positiveNumbers
,然後用range
遍歷numbers
中的每個整數並判斷整數是否大於0,若大於0放入positiveNumbers
,最後將positiveNumbers
回傳出去。回傳出去的slice用原本的numbers
變數接起來後印出內容。
package main
import "fmt"
func filterPositive(numbers []int) []int {
positiveNumbers := []int{} // declare an empty slice
for _, v := range numbers { // loop slice
if v > 0 {
positiveNumbers = append(positiveNumbers, v) // add v into slice
}
}
return positiveNumbers // return slice
}
func main() {
numbers := []int{-2, -1, 0, 4, 5}
numbers = filterPositive(numbers);
fmt.Println(numbers) // [4, 5]
}
沒有留言:
張貼留言