数组实战,程序员的基本功。

实战需求:

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。

实战思路:

1、先声明两个数组,分别用于存储奇数和偶数,

2、然后遍历待排序的数组,根据是否可以被 2 整除,将数据分发到偶数和奇数数组,

3、最后将偶数数组追加到奇数数组之后作为新的数组返回。

马上安排!

一、工程目录

cd go-002/

二、创建 g002.go

/* * @Author: 菜鸟实战 * @FilePath: /go110/go-002/g002.go * @Description: 数组实战,程序员的基本功 */package mainimport ("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

菜鸟实战,持续学习!