【Go实战基础】数组实战,程序员的基本功
实战需求:
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。
实战思路:
1、先声明两个数组,分别用于存储奇数和偶数,
2、然后遍历待排序的数组,根据是否可以被 2 整除,将数据分发到偶数和奇数数组,
3、最后将偶数数组追加到奇数数组之后作为新的数组返回。
马上安排!
一、工程目录
二、创建 g002.go
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | /* * @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 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | # 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
菜鸟实战,持续学习!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下