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

Golang 中的装饰器函数模式

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

911 次浏览

装饰器函数模式主要在 Python 和 JavaScript 中出现,但我们也可以在 Golang 中使用它。它是一种模式,我们可以通过包装现有函数来添加自己的功能。由于 Golang 中的函数被视为一等公民,这意味着我们可以像处理变量一样将它们作为参数传递。示例 1让我们从一个非常简单的例子开始,了解将函数作为参数传递给现有函数的基本情况。请考虑以下代码。package main import ( ... 阅读更多

如何在 Golang 中创建自定义错误

Kiran Kumar Panigrahi
更新于 2022年4月7日 11:06:19

627 次浏览

Golang 为我们提供了不同的方法来打印自定义错误。我们将在本文中探讨两种这样的方法。第一种方法需要我们使用 error.New() 函数,该函数将创建一个新的错误,我们甚至可以将我们选择的字符串作为参数传递给它。示例 1请考虑以下代码。package main import (    "errors"    "fmt"    "math" ) func areaOfCircle(radius float64) (float64, error) {    if radius < 0 {       return 0, errors.New("面积计算错误,半径小于零")    }   ... 阅读更多

Golang 中的通道同步

Kiran Kumar Panigrahi
更新于 2021年11月1日 06:51:24

1K+ 次浏览

如果我们想同步 goroutine,我们可以使用通道。通过同步,我们希望 goroutine 以定义的方式工作,例如,在前面的 goroutine 完成执行之前不启动下一个 goroutine。通道有助于实现这一点,因为它们可以用来阻塞进程,也可以用来通知第二个 goroutine 前面的 goroutine 已经完成了它的工作。示例 1让我们考虑一个通道同步的非常基本的例子,我们将看到如何借助缓冲通道来实现它。请考虑以下代码 ... 阅读更多

如何在 Golang 中获取响应状态码?

Kiran Kumar Panigrahi
更新于 2021年11月1日 06:47:20

13K+ 次浏览

响应状态码是我们得到的数字,表示当我们向服务器请求某些内容时,我们从服务器收到的响应类型。从响应中获得不同的状态码,这些状态码主要分为五类。通常,状态码分为以下五类。1xx(信息)2xx(成功)3xx(重定向)4xx(客户端错误)5xx(服务器错误)在本文中,我们将尝试获取这些状态码中的两个或多个。示例 1让我们从对 google.com URL 的基本 HTTP 请求开始。一旦我们这样做,我们将从服务器获取响应 ... 阅读更多

如何在 Golang 中检测文件的 MIME 类型?

Kiran Kumar Panigrahi
更新于 2021年11月1日 06:39:05

6K+ 次浏览

考虑这样一种情况:出于某种原因,我们想在 Golang 中获取文件的 MIME 类型。为此,我们必须首先知道如何打开文件并将它的一些字节读入缓冲区切片,然后将其传递给一个函数,该函数将帮助我们检测文件的类型。第一步是打开我们要检查其类型的文件。打开文件假设我们有一个名为 sample.pdf 的文件,我们想知道它的 contentType。为了打开文件,我们需要 ... 阅读更多

如何在 Golang 中从映射中删除键?

Kiran Kumar Panigrahi
更新于 2023年9月2日 12:44:08

60K+ 次浏览

要从映射中删除键,我们可以使用 Go 的内置 delete() 函数。需要注意的是,当我们从映射中删除键时,它的值也将被删除,因为在 Go 的映射中,键值对就像一个单一实体。语法delete 函数的语法如下所示。delete(map, key)一旦我们按上述格式调用该函数,映射中的键将被删除。现在,让我们在 Go 代码中使用上述函数,并了解它的工作原理。示例 1请考虑以下代码package main import (    "fmt" ) ... 阅读更多

如何在 Golang 中将 JSON 解码为对象?

Kiran Kumar Panigrahi
更新于 2021年11月1日 06:30:03

1K+ 次浏览

假设我们有一个如下所示的 JSON。{ "name":"Mukul Latiyan", "age":10, "sports":[ "football", "tennis", "cricket" ] }现在,我们想将这个 JSON 转换为结构体字段,以便我们以后可以访问它,甚至可以对其进行迭代。为此,我们需要首先创建一个结构体,它将满足上述 JSON 的字段。以下所示的结构体将非常适合上述 JSON。type Person struct ... 阅读更多

Golang 程序:递归确定给定数字是偶数还是奇数

Rishikesh Kumar Rishi
更新于 2021年8月2日 07:09:21

289 次浏览

步骤从用户那里获取一个数字并将其存储在一个变量中。将数字作为参数传递给递归函数。将基准条件定义为数字小于 2。否则,使用数字减 2 递归调用该函数。然后,返回结果并检查数字是偶数还是奇数。打印最终结果。输入一个数字:124数字是偶数!输入一个数字:567数字是奇数!示例 在线演示package main import (    "fmt" ) func check(n int) bool{    if n < 2 {       return n % 2 == 0    }    return check(n - 2) } ... 阅读更多

Golang 程序:在范围 (1, upper) 内打印数字,不使用任何循环

Rishikesh Kumar Rishi
更新于 2021年7月31日 15:54:37

190 次浏览

步骤定义一个递归函数。为该函数定义一个基准情况,即数字应大于零。如果数字大于 0,则再次调用该函数,参数为数字减 1。打印数字。输入上限:512345输入上限:1512..15示例 在线演示package main import (    "fmt" ) func printNo(number int){    if number >= 1{       printNo(number-1)       fmt.Println(number)    } } func main(){    var upper int    fmt.Print("输入上限:")    fmt.Scanf("%d", &upper)    printNo(upper) }输出输入上限:5 1 2 3 4 5

Golang 程序:查找作用于两个物体之间的万有引力

Rishikesh Kumar Rishi
更新于 2021年7月31日 15:53:38

338 次浏览

步骤读取两个质量以及质量之间的距离,并将它们存储在单独的变量中。将其中一个变量初始化为万有引力常数 G 的值。然后,使用公式 f=(G*m1*m2)/(r**2) 来确定作用于质量之间的力。四舍五入到两位小数,打印力的值。输入第一个质量:1000000输入第二个质量:500000输入质量中心之间的距离:20因此,万有引力是:0.08 N输入第一个质量:90000000输入第二个质量:7000000输入质量中心之间的距离:20因此,万有引力是:105.1 N解释用户必须输入 ... 阅读更多

广告