技术文摘
十个用于各类任务的 Go(Golang)常见代码片段
2024-12-30 18:48:18 小编
十个用于各类任务的 Go(Golang)常见代码片段
在 Go 语言的世界里,掌握一些常见且实用的代码片段能够极大地提高开发效率。以下为您列举十个用于各类任务的 Go 常见代码片段。
- 字符串反转
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)
}
- 计算数组元素之和
func sumArray(arr []int) int {
sum := 0
for _, num := range arr {
sum += num
}
return sum
}
- 检查字符串是否包含子串
func containsSubstring(str, subStr string) bool {
return strings.Contains(str, subStr)
}
- 冒泡排序算法
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]
}
}
}
}
- 快速排序算法
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
}
- 读取文件内容
func readFileContent(filePath string) ([]byte, error) {
data, err := ioutil.ReadFile(filePath)
if err!= nil {
return nil, err
}
return data, nil
}
- 写入文件内容
func writeFileContent(filePath string, content []byte) error {
err := ioutil.WriteFile(filePath, content, 0644)
if err!= nil {
return err
}
return nil
}
- 实现简单的 HTTP 服务器
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
w.Write([]byte("Hello, World!"))
})
http.ListenAndServe(":8080", nil)
}
- 并发执行多个任务
func main() {
var wg sync.WaitGroup
wg.Add(2)
go func() {
defer wg.Done()
// 任务 1 的逻辑
}()
go func() {
defer wg.Done()
// 任务 2 的逻辑
}()
wg.Wait()
}
- 链表节点的创建和遍历
type ListNode struct {
Val int
Next *ListNode
}
func createLinkedList() *ListNode {
// 创建链表节点并返回头节点
}
func traverseLinkedList(head *ListNode) {
// 遍历链表的逻辑
}
这些代码片段涵盖了字符串操作、数组和算法、文件处理、网络编程以及并发等常见任务。熟练掌握并灵活运用它们,将为您的 Go 开发之旅带来便利。
- C#.NET 中 String 字符串的全面总结
- Suspense 竟能如此轻松解决请求依赖的复杂场景,令人震惊!
- PHP 服务的性能剖析、跟踪与可观察性实践
- .NET 应用程序的安全指南
- TIOBE 编程指数六月排行榜:C++ 首超 C 语言 仅次于 Python
- Quartz.NET 配置文件:实现简便任务调度与轻松管理
- Go 语言基本数据类型:编程入门基础
- 惊人!产品让我用 JavaScript 绘制【随机树】
- Python 与 xlwings:让 Excel 不再复杂的绝佳搭档
- ASP.NET Core 性能优化秘籍
- 你了解 React Query 的作用吗?
- HTTP QUERY 方法:让前端传 SQL 不再是笑话
- Spring Boot 下运用断点续传与自动重连机制应对考试系统网络不稳定
- 13 种前端实用的 CSS 技术
- Vue 打造 3D 模型的全新策略,TresJS 热度飙升?