找到 1082 篇文章,关于 Go 编程

如何在 Golang 中检查字符串是否为有效的 URL?

Kiran Kumar Panigrahi
更新于 2021年11月1日 07:41:23

4K+ 次查看

在某些情况下,我们希望知道从 http 请求中以字符串形式获取的 URL 是否有效。在这种情况下,可以使用 Go 标准库的 net/url 包提供的两个函数。示例 1第一个基本情况是检查 URL 是否结构良好且有效,为此,我们可以使用 URL 包的 ParseRequestURI() 函数。请考虑以下代码。package main import (    "fmt"    "net/url" ) func main() {    u, err := url.ParseRequestURI("http://golangcode.com")   ... 阅读更多

如何在 Golang 中分割字符串?

Kiran Kumar Panigrahi
更新于 2022年3月3日 13:33:43

4K+ 次查看

分割字符串意味着能够获取字符串的一部分,而这部分可以基于字符串中的位置或字符。在 Go 中,如果我们想基于位置分割字符串,我们可以使用 [ ](方括号),然后在其中传递以冒号分隔的索引。语法请考虑以下所示的语法。sl[startingIndex : EndingIndex]需要注意的是,切片中 EndingIndex 处的元素不会被考虑,因为范围是从 startingIndex 到 (EndingIndex−1)。示例 1现在,让我们考虑一个示例,其中我们将 ... 阅读更多

Golang 中的 WaitGroups 是什么?

Kiran Kumar Panigrahi
更新于 2021年11月1日 07:36:26

139 次查看

在 Golang 中,可能存在不同 goroutine 的执行会导致意外行为的情况。在这种情况下,我们希望确保某些 goroutine 以预定义的方式工作,并且程序等待从主函数启动的所有 goroutine 等待。为此,我们使用 WaitGroups。WaitGroups 允许我们解决上述问题,因为它们会阻塞代码,直到 WaitGroup 中的任何 goroutine 成功执行。WaitGroup 有三个我们使用的导出方法。它们是 −Add(int) – 增加计数器。Wait() – 阻塞执行,直到 ... 阅读更多

如何在 Golang 中使用互斥锁?

Kiran Kumar Panigrahi
更新于 2021年11月1日 07:33:12

318 次查看

为了理解 Go 中的互斥锁为什么在编写更好和更准确的并发程序方面发挥着重要作用,我们必须首先了解称为竞争条件的概念。让我们首先了解竞争条件是什么,以及我们如何编写一个包含竞争条件的并发程序,以及我们如何随后在该程序中引入互斥锁以使其准确。竞争条件竞争条件是一种条件,其中多个 goroutine 试图访问和修改相同的资源。可能是某个 goroutine 试图增加特定值的 ... 阅读更多

如何在 Golang 中使用 Tickers?

Kiran Kumar Panigrahi
更新于 2021年11月1日 07:28:20

7K+ 次查看

通常情况下,我们希望在特定时间间隔后重复执行特定任务。在 Golang 中,我们借助 tickers 实现这一点。我们也可以将它们与 goroutine 一起使用,以便我们可以在应用程序的后台运行这些任务,而不会中断应用程序的流程。我们在 tickers 中使用的函数是 NewTicker() 函数,它以时间作为参数,我们可以在其中提供秒甚至毫秒。示例 1以下示例演示了如何在 Golang 中使用 ticker。请考虑以下所示的代码。package ... 阅读更多

如何在 Golang 中使用反射?

Kiran Kumar Panigrahi
更新于 2021年11月1日 07:24:26

542 次查看

Golang 中的反射是关于在运行时了解我们正在处理的数据的数据类型。通常情况下,我们会希望知道在运行时获取的某个变量的数据类型或类似的东西。借助反射,我们可以提取 Golang 中任何数据类型的类型、值和种类。在本文中,我们将探讨反射中使用的不同第三方函数。示例 1 – reflect.TypeOf()它用于返回类型 reflect 的值。简单来说,它用于了解是什么 ... 阅读更多

如何在 Golang 中处理信号?

Kiran Kumar Panigrahi
更新于 2021年11月1日 07:21:04

1K+ 次查看

在讨论信号以及如何处理信号之前,让我们先谈谈创建信号的常见场景。信号可以从终端传递,可以通过使用 CTRL+C 终止程序,或者我们可以默认调用 os 包为我们提供的 Exit() 函数。示例 1让我们考虑一个示例,其中我们将在已延迟的函数声明之后立即调用 os.Exit() 函数。请考虑以下所示的代码。package main import (    "fmt"    "os"    "time" ) func main() {    defer func() {       fmt.Println("Inside the ... 阅读更多

如何在 Golang 中使用超时

Kiran Kumar Panigrahi
更新于 2021年11月1日 07:16:42

3K+ 次查看

当我们不想等待某些 goroutine 的输出花费的时间超过它们应该花费的时间时,超时起着重要作用。需要注意的是,Go 本身不支持超时,但我们可以毫不费力地实现它们。假设我们有一个案例,我们想从通道 ch 接收一些值,但我们不想等待超过 3 秒才能收到该值。如果我们在所需的 3 秒后获得输出,那么我们希望将其丢弃并打印不同的消息,而不是等待 ... 阅读更多

Golang 中的空切片与空切片

Kiran Kumar Panigrahi
更新于 2021年11月1日 07:10:52

1K+ 次查看

在本文中,我们将了解在声明为空的切片和空切片之间存在的差异和相似之处。Golang 中的切片用于存储一系列元素。切片可以随时扩展,它们的声明方式与数组相同,但未定义其容量。空切片空切片是一个切片,在声明时,我们只是定义名称和数据类型,而不使用内置的 make 函数。空切片是一个其零值为 nil 的切片,并且 ... 阅读更多

Golang 中的函数与方法

Kiran Kumar Panigrahi
更新于 2021年11月1日 07:08:11

5K+ 次查看

在本文中,我们将学习 Golang 中函数和方法之间存在的相似之处和差异。我们将分别从每个开始,然后我们将看到一个使用它们的示例。让我们从函数开始,看看它们是什么以及如何在 Golang 中使用它们。Golang 中的函数Golang 中的函数是一块代码,它以一些参数作为输入并产生一些输出。如果我们对函数传递相同的输入,它将始终产生相同的输出。示例 1在此示例中,我们创建了一个 ... 阅读更多

广告