📝 Go教程
801篇技术文档📅  最后修改于: 2021-01-02 09:16:52        🧑  作者: Mango
去排序Go具有排序包,可用于对内置以及用户定义的数据类型进行排序。sort包具有不同的方法来对不同的数据类型进行排序,例如Ints(),Float64s(),Strings()等。我们可以使用AreSorted()方法(例如Float64sAreSorted(),IntsAreSorted()等)来检查值是否已排序。转到排序示例输出:我们还可以实现自己的排序模式,假设我们想根据字符串的长度对字符串...
📅  最后修改于: 2021-01-02 09:17:49        🧑  作者: Mango
JSONGo具有对JSON编码和解码的内置支持。它还支持自定义数据类型。Marshal函数用于将go数据类型转换为JSON格式。元帅函数的语法为:元帅返回v的JSON编码。布尔值转换为JSON布尔值。浮点数,整数和数字将转换为JSON数字。映射的键类型必须是字符串,整数类型或实现encoding.TextMarshaler。JSON的解码是使用Unmarshal函数完成的。解组函数的语法为:Unm...
📅  最后修改于: 2021-01-02 09:18:50        🧑  作者: Mango
去面试问题下面列出了最常见的Go编程面试问题和答案。1)什么是Go编程语言?GO是Google开发的一种开源编程语言。它也被称为Golang。该语言主要用于系统编程。2)为什么要使用Go编程语言?因为Go是一种开源编程语言,所以构建简单,可靠和高效的软件非常容易。3)谁被称为Go编程语言之父?Go编程语言是由Robert Griesemer,Rob Pike和Ken Thompson设计的。它是2...
📅  最后修改于: 2021-10-24 12:57:39        🧑  作者: Mango
Go 语言接口与其他语言不同。在 Go 语言中,接口是一种自定义类型,用于指定一组一个或多个方法签名,并且接口是抽象的,因此不允许您创建接口的实例。但是您可以创建一个接口类型的变量,并且可以为该变量分配一个具有接口所需方法的具体类型值。或者换句话说,接口是方法的集合,也是自定义类型。要阅读更多关于接口的信息,请参阅 Golang 中的接口文章有两种结构和一种接口。一种结构用于 gfg 课程详细信息...
📅  最后修改于: 2021-10-24 12:57:50        🧑  作者: Mango
Go 语言在 math/rand 包的帮助下为生成指定类型的随机数提供了内置支持。这个包实现了伪随机数生成器。这些随机数是由一个源生成的,每次程序运行时,这个源都会产生一个确定性的值序列。如果你想为安全敏感的工作随机数,那么使用 crypto/rand 包。您可以借助 math/rand 包提供的Float32()函数从默认源生成 [0.0, 1.0) 中的 float32 伪随机数。因此,您需要...
📅  最后修改于: 2021-10-24 12:58:01        🧑  作者: Mango
在 Go 语言中,时间包提供了确定和查看时间的功能。 Go语言的UnmarshalJSON()函数用于实现json.Unmarshaler接口。这里的时间是一个引用字符串,采用 RFC 3339 格式。而且,这个函数是在time包下定义的。在这里,您需要导入“time”包才能使用这些功能。句法:这里,“t”是指向指定时间的指针,“data”是表示由 MarshalJSON() 方法生成的 JSON...
📅  最后修改于: 2021-10-24 12:58:13        🧑  作者: Mango
在 Go 语言中,原子包提供较低级别的原子内存,这有助于实现同步算法。 Go语言的CompareAndSwapInt64()函数用于对int64值进行比较和交换操作。这个函数是在 atomic 包下定义的。在这里,您需要导入“sync/atomic”包才能使用这些功能。句法:这里,addr表示地址,old表示 int64 值,即从交换操作返回的旧交换值,new是将从旧交换值交换自身的 int64 ...
📅  最后修改于: 2021-10-24 12:58:25        🧑  作者: Mango
在 Go 语言中,fmt包使用类似于 C 的 printf() 和 scanf()函数的函数来实现格式化的 I/O。 Go 语言中的fmt.Fscanln()函数扫描指定的文本,从 r 读取,然后将连续的空格分隔值存储到连续的参数中。此函数在换行符处停止扫描,在最后一项之后,必须有一个换行符或 EOF。而且,这个函数是在 fmt 包下定义的。在这里,您需要导入“fmt”包才能使用这些功能。句法:参...
📅  最后修改于: 2021-10-24 12:58:36        🧑  作者: Mango
Go 语言提供了运行时反射的内置支持实现,并允许程序在反射包的帮助下操作任意类型的对象。Golang 中的reflect.Bytes()函数用于获取Value 底层值。要访问此函数,需要在程序中导入反射包。Syntax:Parameters:This function does not accept any parameters.Return Value:This function returns...
📅  最后修改于: 2021-10-24 12:58:48        🧑  作者: Mango
给定一个大小为 n 的数组。您的任务是从数组中删除重复项。例子:我们将使用两个循环来解决这个问题。第一个循环我将从 0 遍历到数组的长度。第二个循环将从 0 遍历到i-1。此循环用于确保索引i处的元素没有出现在i之前。如果该元素之前出现过,那么我们就会退出第二个循环。在第二个循环之后,我们编写一个 if 条件来检查是否j == i。如果它们相等,则表示索引i处的元素之前没有出现过。所以我们必须将元...
📅  最后修改于: 2021-10-24 12:59:00        🧑  作者: Mango
正则表达式是定义搜索模式的字符序列。 Go 语言支持正则表达式。正则表达式用于从大文本(如日志、其他程序生成的输出等)中解析、过滤、验证和提取有意义的信息。在 Go regexp 中,您可以借助Match()函数检查给定的切片字节是否包含指定正则表达式模式的任何匹配项。这个函数是在regexp包下定义的,所以为了访问这个方法,你需要在你的程序中导入regexp包。句法:这里,p 代表模式,s 代表...
📅  最后修改于: 2021-10-24 12:59:12        🧑  作者: Mango
在 Go 语言中切片比数组更强大、灵活、方便,是一种轻量级的数据结构。切片是一个可变长度的序列,用于存储相似类型的元素,不允许在同一个切片中存储不同类型的元素。在 Go 的 byes 切片中,您可以借助Equal()函数检查切片的相等性。如果两个切片相等,则此函数返回 true,如果两个切片不相等,则返回 false。它是在 bytes 包下定义的,因此您必须在程序中导入 bytes 包才能访问 ...
📅  最后修改于: 2021-10-24 12:59:24        🧑  作者: Mango
Mutex 是一种用作锁定机制的方法,以确保在任何时间点只有一个 Goroutine 访问代码的临界区。这样做是为了防止发生竞争条件。同步包包含互斥锁。 Mutex 上定义的两个方法锁开锁调用 Lock 和 Unlock 之间的任何代码都将仅由一个 Goroutine 执行。如果一个 Goroutine 已经拥有锁,并且如果一个新的 Goroutine 试图获取锁,那么新的 Goroutine 将...
📅  最后修改于: 2021-10-24 12:59:35        🧑  作者: Mango
switch 语句是一个多路分支语句。它提供了一种基于值将执行转移到代码的不同部分的有效方法,也称为表达式的情况。 switch 中可以有各种 switch-case 语句。每个案例后跟要比较的值。当打开的变量等于其对应的 case 时,该 case 后面的语句将执行,直到到达 break 语句。当遇到break语句时,switch终止,控制流跳转到switch语句后的下一行,不会再执行相同cas...
📅  最后修改于: 2021-10-24 12:59:47        🧑  作者: Mango
环境变量是操作系统上的动态对象对。这些值对可以在操作系统的帮助下进行操作。这些值对可用于存储文件路径、用户配置文件、身份验证密钥、执行模式等。在 Golang 中,我们可以使用 os 包来读写环境变量。1.使用 os.Setenv() 设置环境变量。此方法接受两个参数作为字符串。如果有的话,它会返回一个错误。2.使用 os.Getenv() 获取环境变量值。如果变量存在,则此方法返回变量的值,否则...