實戰需求:
輸入一個整數陣列,實作一個函式來調整該陣列中數字的順序,使得所有奇數位于陣列的前半部分,所有偶數位于陣列的后半部分,
實戰思路:
1、先宣告兩個陣列,分別用于存盤奇數和偶數,
2、然后遍歷待排序的陣列,根據是否可以被 2 整除,將資料分發到偶數和奇數陣列,
3、最后將偶數陣列追加到奇數陣列之后作為新的陣列回傳,
馬上安排!
一、工程目錄
cd go-002/
二、創建 g002.go
/*
* @Author: 菜鳥實戰
* @FilePath: /go110/go-002/g002.go
* @Description: 陣列實戰,程式員的基本功
*/
package main
import (
"fmt"
"runtime"
)
// 輸入一個整數陣列,實作一個函式來調整該陣列中數字的順序,
// 使得所有奇數位于陣列的前半部分,所有偶數位于陣列的后半部分,
func formatArrayV1(arr []int) []int {
// 宣告兩個陣列
var oddArr, evenArr []int
// 區分奇數和偶數
for _, value := range arr {
if value%2 == 0 {
evenArr = append(evenArr, value)
} else {
oddArr = append(oddArr, value)
}
}
// 拼接
return append(oddArr, evenArr...)
}
// 主函式
func main() {
// 使用內置函式列印
println("Hello", "菜鳥實戰")
// 待排序陣列
arr := []int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
fmt.Println("排序前:", arr)
fmt.Println("排序后:", formatArrayV1(arr))
// 使用包函式列印
fmt.Printf("版本: %s \n", runtime.Version())
}
三、編譯和運行
1、編譯運行
# 1、生成模塊依賴
go mod init g002
# 2、編譯
go build g002.go
# 3、編譯后的目錄結構
└── go-002
├── g002
├── g002.go
└── go.mod
# 4、運行
go run g002
2、運行結果
Hello 菜鳥實戰
排序前: [0 1 2 3 4 5 6 7 8 9]
排序后: [1 3 5 7 9 0 2 4 6 8]
版本: go1.17.10
菜鳥實戰,持續學習!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/502518.html
標籤:其他
上一篇:三種反射得到物件的方法
