前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Golang回顾

Golang回顾

原创
作者头像
软件架构师Michael
发布2024-02-05 10:13:38
990
发布2024-02-05 10:13:38
举报

很久没有写Golang了,年前工作量小,写了个小例子。算是一个简单的回顾。

以下是使用Golang实现的快速排序的简单实例:

代码语言:go
复制
package main

import "fmt"

func quicksort(arr []int) []int {
    if len(arr) <= 1 {
        return arr
    }
    pivot := arr[0]
    var left []int
    var right []int
    for _, x := range arr[1:] {
        if x < pivot {
            left = append(left, x)
        } else {
            right = append(right, x)
        }
    }
    return append(append(quicksort(left), pivot), quicksort(right)...)
}

func main() {
    lst := []int{4, 5, 1, 8, 3, 2, 9, 6, 7}
    sortedList := quicksort(lst)
    fmt.Println(sortedList)
}

在这个示例中,我们首先定义了一个名为quicksort()的函数,该函数接受一个整数型切片arr作为输入,并返回一个已排序的整数型切片。然后我们在main函数中创建了一个整数型切片lst,用于存放要排序的元素。

函数quicksort()的逻辑与之前的Python版本实现是一样的。我们首先检查输入切片的长度是否小于等于1,如果是,则直接返回该切片。否则,我们选择切片的第一个元素作为基准元素,然后将切片分成两个部分,一部分小于基准元素,另一部分大于等于基准元素。然后分别对这两部分递归调用quicksort()函数,并将它们连接起来,形成已排序的切片。

在本示例中,我们使用了Go语言的一些特性,例如可变长切片(slice)、for ... range语法以及append函数。这些语言特性使得我们的代码更加简洁和易读。运行该示例代码,我们得到的输出结果是[1 2 3 4 5 6 7 8 9],这是已经排序好的整数型切片。

【小结】

温故而知新,学过的东西如果长时间不接触一定会感到陌生,有空得拿出来回顾一把。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档