十个用于各类任务的 Go(Golang)常见代码片段

2024-12-30 18:48:18   小编

十个用于各类任务的 Go(Golang)常见代码片段

在 Go 语言的世界里,掌握一些常见且实用的代码片段能够极大地提高开发效率。以下为您列举十个用于各类任务的 Go 常见代码片段。

  1. 字符串反转
func reverseString(s string) string {
    runes := []rune(s)
    for i, j := 0, len(runes)-1; i < j; i, j = i+1, j-1 {
        runes[i], runes[j] = runes[j], runes[i]
    }
    return string(runes)
}
  1. 计算数组元素之和
func sumArray(arr []int) int {
    sum := 0
    for _, num := range arr {
        sum += num
    }
    return sum
}
  1. 检查字符串是否包含子串
func containsSubstring(str, subStr string) bool {
    return strings.Contains(str, subStr)
}
  1. 冒泡排序算法
func bubbleSort(arr []int) {
    n := len(arr)
    for i := 0; i < n-1; i++ {
        for j := 0; j < n-i-1; j++ {
            if arr[j] > arr[j+1] {
                arr[j], arr[j+1] = arr[j+1], arr[j]
            }
        }
    }
}
  1. 快速排序算法
func quickSort(arr []int, low, high int) {
    if low < high {
        pi := partition(arr, low, high)
        quickSort(arr, low, pi-1)
        quickSort(arr, pi+1, high)
    }
}

func partition(arr []int, low, high int) int {
    pivot := arr[high]
    i := low - 1
    for j := low; j <= high-1; j++ {
        if arr[j] <= pivot {
            i++
            arr[i], arr[j] = arr[j], arr[i]
        }
    }
    arr[i+1], arr[high] = arr[high], arr[i+1]
    return i + 1
}
  1. 读取文件内容
func readFileContent(filePath string) ([]byte, error) {
    data, err := ioutil.ReadFile(filePath)
    if err!= nil {
        return nil, err
    }
    return data, nil
}
  1. 写入文件内容
func writeFileContent(filePath string, content []byte) error {
    err := ioutil.WriteFile(filePath, content, 0644)
    if err!= nil {
        return err
    }
    return nil
}
  1. 实现简单的 HTTP 服务器
func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        w.Write([]byte("Hello, World!"))
    })
    http.ListenAndServe(":8080", nil)
}
  1. 并发执行多个任务
func main() {
    var wg sync.WaitGroup
    wg.Add(2)
    go func() {
        defer wg.Done()
        // 任务 1 的逻辑
    }()
    go func() {
        defer wg.Done()
        // 任务 2 的逻辑
    }()
    wg.Wait()
}
  1. 链表节点的创建和遍历
type ListNode struct {
    Val  int
    Next *ListNode
}

func createLinkedList() *ListNode {
    // 创建链表节点并返回头节点
}

func traverseLinkedList(head *ListNode) {
    // 遍历链表的逻辑
}

这些代码片段涵盖了字符串操作、数组和算法、文件处理、网络编程以及并发等常见任务。熟练掌握并灵活运用它们,将为您的 Go 开发之旅带来便利。

TAGS: Golang 编程 Go 代码片段 任务中的 Go 常见 Go 应用

欢迎使用万千站长工具!

Welcome to www.zzTool.com