找到 1082 篇文章 关于 Go 编程

如何在 Golang 中连接两个切片?

Mukul Latiyan
更新于 2022年2月22日 05:43:33

3K+ 次浏览

每当我们谈论向切片追加元素时,我们都知道我们需要使用 `append()` 函数,该函数将切片作为第一个参数,并将我们想要追加的值作为下一个参数。语法如下所示:`sl = append(sl, 1)`。除了向切片“sl”追加单个数字外,我们也可以在同一命令中追加多个值。考虑下面显示的代码片段:`sl = append(sl, 1, 2, 3, 4)`。以上代码在 Go 中可以正常工作。当需要将一个切片追加到另一个切片时,我们需要使用可变参数函数 ... 阅读更多

使用 sort 包在 Golang 中进行排序

Mukul Latiyan
更新于 2022年2月22日 05:40:50

520 次浏览

Golang 的标准库提供了一个包,如果我们想对数组、切片甚至自定义类型进行排序,可以使用这个包。在这篇文章中,我们将了解三个主要函数,如果我们想在 Golang 中对切片进行排序,可以使用这些函数。我们还将看到如何创建自定义排序函数和自定义比较器。让我们首先检查如何对整数、float64 和字符串值的切片进行排序。示例考虑以下代码。package main import (    "fmt"    "sort" ) func main() {    integerSlice := []int{3, 2, 14, 9, 11}    sort.Ints(integerSlice)   ... 阅读更多

如何在 Golang 中使用 iota?

Mukul Latiyan
更新于 2022年2月22日 05:32:09

5K+ 次浏览

Go 中的 iota 用于表示常量递增序列。当在常量中重复使用时,它的值在每次指定后都会递增。在这篇文章中,我们将探讨在 Go 中使用 iota 的不同方法。让我们首先考虑一个非常基本的示例,我们将声明多个常量并使用 iota。示例 1考虑以下代码 package main import (    "fmt" ) const (    first = iota    second = iota    third = iota ) func main() {    fmt.Println(first, second, third) }输出如果我们运行命令 go run main.go,那么我们将在终端获得以下... 阅读更多

如何在 Golang 中解析日期字符串?

Mukul Latiyan
更新于 2022年2月22日 05:28:17

13K+ 次浏览

在 Go 中解析日期字符串时,我们可以使用 `time` 包提供的 `Parse` 函数。在 Go 中,我们不像大多数其他语言那样使用代码来表示日期/时间字符串的组成部分。相反,Go 使用助记符设备 - 标准时间作为参考。例如,参考时间可以如下所示:Mon Jan 2 14:10:05 MST 2020 (MST is GMT-0700)或者,它也可以如下所示:01/02 03:04:10PM '20 -0700语法`Parse()` 函数的语法如下所示:`func Parse(layout, value string) (Time, error)` `Parse` 函数采用布局和 ... 阅读更多

Golang 中的匿名 goroutine

Mukul Latiyan
更新于 2022年2月22日 05:22:37

4K+ 次浏览

为了能够理解匿名 goroutine,我们必须知道匿名函数和 goroutine 的存在。我们将首先探讨匿名函数,它们是匿名 goroutine 的真正动机,然后我们将学习一些关于 goroutine 的知识,最后检查一些匿名 goroutine 的示例。匿名函数在 Golang 中,匿名函数是没有名称的函数。简而言之,匿名函数在声明时不使用任何变量作为名称。我们知道我们使用类似于以下所示的语法来声明一个函数:`func` ... 阅读更多

如何在 Golang 中比较切片、结构体和映射?

Mukul Latiyan
更新于 2022年2月21日 08:09:20

1K+ 次浏览

Go 中的 `reflect` 包提供了一个非常重要的函数 `DeepEqual()`,可用于比较复合类型。当我们想要检查两种数据类型是否“完全相等”时,可以使用 `DeepEqual()` 函数。比较切片示例 1考虑以下代码 package main import (    "fmt"    "reflect" ) func main() {    sl := []int{1, 2, 3}    sl1 := []int{1, 2, 3}    fmt.Println(reflect.DeepEqual(sl, sl1)) }输出如果我们在上述代码上运行命令 go run main.go,那么我们将在终端获得以下输出:true比较映射示例 2考虑以下代码。package main import ( ... 阅读更多

如何在 Golang 中检查字符串是否包含子字符串?

Mukul Latiyan
更新于 2022年2月21日 08:16:10

757 次浏览

我们知道子字符串是字符串中连续的字符序列,为了检查字符串是否包含子字符串,我们有两个选项可用。第一种方法是使用名为 `Contains()` 的内置函数,第二种方法是使用我们自己编写的逻辑来实现相同的功能。`strings` 包的 `Contains()` 函数的语法如下所示:`func Contains(s, substr string) bool` 在上述语法中,`Contains()` 函数中有两个参数。第一个参数是我们尝试查找模式的字符串,第二个参数是... 阅读更多

如何在 Golang 中检查映射中是否存在键?

Mukul Latiyan
更新于 2022年2月21日 07:32:37

796 次浏览

我们知道 Go 中的映射包含键值对。通常情况下,我们会想知道某个键是否存在于映射中,在这种情况下,我们有两个选项可用。第一种方法非常简单,在这种方法中,我们基本上使用 range 子句迭代映射,然后将每个键与我们想要检查的键进行比较,以查看它是否存在。第二种方法更好一些,因为我们使用 if 语句和一些语法糖。让我们首先检查... 阅读更多

如何在 Golang 中搜索和替换字符串中的文本?

Mukul Latiyan
更新于 2022年2月21日 07:28:20

1K+ 次浏览

我们经常想要用其他字符串替换与某个模式匹配的某些字符串或所有字符串。为了在 Golang 中做到这一点,我们可以使用 Go 标准库的 `strings` 包提供的原生函数,也可以自己编写相应的逻辑。在这篇文章中,我们将看到不同的示例,我们将使用 `strings` 包中两个最常用的函数。这些函数是:`strings.Replace()` `strings.ReplaceAll()` 让我们首先考虑这些函数的签名,以便更多地了解它们。`strings.Replace()` 的语法`func Replace(s, old, new string, ... 阅读更多

如何在 Golang 中读取 CSV 文件?

Mukul Latiyan
更新于 2022年2月21日 07:25:43

2K+ 次浏览

要在 Go 中读取 CSV 文件,我们首先需要使用 Go 标准库提供的 `encoding/csv` 包。`encoding/csv` 包包含在我们要从 CSV 文件读取数据时可以使用的不同函数和方法。在这篇文章中,我们将使用该包提供的 `NewReader()` 函数,该函数接受一个参数,该参数基本上是我们想要打开的文件,然后也对该文件调用 `ReadAll()` 方法。除了 `encoding/csv` 包外,我们还将使用 `os` 包,它... 阅读更多

广告