#Array(数组) 内部机制 在 Go 语言中数组是固定长度的数据类型,它包含相同类型的连续的元素,这些元素可以是内建类型,像数字和字符串,也可以是结构类型,元素可以通过唯一的索引值访问,从 0 开始。 数组是很有价值的数据结构,因为它的内存分配是连续的,内存连续意味着可是让它在 CPU 缓存中待更久,所以迭代数组和移动元素都会非常迅速。 数组声明和初始化 ......
33
0
0
2023-08-09
目录简介类型时区小心有坑时间解析的使用场景时间操作获取当前时间时区设置时间格式化(时间类型转字符串)时间类型转时间戳时间戳转时间类型时间字符串转时间类型时间计算获取时间类型具体内容时间加减时间间隔(耗时)时间取整(向上取整向下取整)拓展json时间转换简介在各个语言之中都有时间类型的处理,因为这个地球是圆的(我仿佛在讲废话),有多个时区,每个时区的时间不一样 ......
65
0
0
2023-07-19
目录1.使用值为 nil 的 slice、map会发生啥2.访问 map 中的 key,需要注意啥3.string 类型的值可以修改吗4.switch 中如何强制执行下一个 case 代码块5.你是如何关闭 HTTP 的响应体的6.你是否主动关闭过http连接,为啥要这样做7.解析 JSON 数据时,默认将数值当做哪种类型8.如何从 panic 中恢复9.简 ......
55
0
0
2023-07-18
目录1. 基本数据类型1.1 整数型1.2 Golang 提供了两种浮点型数据类型:1.3 布尔型1.4 字符型1.5 字符串型2. 复合数据类型2.1 数组2.2 切片2.3 字符串2.4 映射2.5 结构体3. 总结在计算机编程中,数据类型是非常重要的一个概念。数据类型决定了计算机内部如何表示数据,以及在执行不同的操作时需要进行哪些转换。Go 语言作为一 ......
62
0
0
2023-05-18
目录Go 字符串实现原理字符串的截取字符串和切片的转换字符串和切片共享底层数组什么是万能指针字符串和其它数据结构的转化整数和字符串相互转换Parse 系列函数Format 系列函数小结Go 字符串实现原理Go 的字符串有个特性,不管长度是多少,大小都是固定的 16 字节。package main import (  &n ......
255
0
0
2023-02-28
目录前言案例mapmap定义map声明map的操作总结前言今天咱们来学习一下golang中的map数据类型,单纯的总结一下基本语法和使用场景,也不具体深入底层。map类型是什么呢?做过PHP的,对于数组这种数据类型是一点也不陌生了。PHP中的数组分为索引数组和关联数组。例如下面的代码:// 索引数组【数组的key是一个数字, 从0,1,2开始递增】 $ar ......
103
0
0
2023-02-05
这是一篇写于2021年3月的总结稿,当时还立了Flag: 我打算从PHP转Go啦,坚持每天打卡,坚持每天学习新的知识点,为月薪30k+做准备。接下来看看我当年学的Go基础知识点吧:编译、变量、常量、基本数据类型、字符串。谁不是从易到难,一步一步学的呢?编译使用 go build在项目目录下执行在其他路径下编译 go build ,需要在后面加上项目的路径(项 ......
171
0
0
2022-11-25
0.1、索引waterflow.link/articles/1664080524...1、未知的枚举值我们现在定义一个类型是unit32的Status,他可以作为枚举类型,我们定义了3种状态type Status uint32 const ( StatusOpen Status = iota StatusClosed St ......
149
0
0
2022-11-15
0.1、索引waterflow.link/articles/1663921524...通过使用一些通用代码来节省时间,而无需单独实现它们。以下是一些开发中经常会用到的函数实现的列表。1、检查数组中元素是否存在Golang 没有预定义的函数来检查数组中元素的存在。以下代码片段为您完成相同的工作。很简单,遍历一遍数组检查元素是否存在。package main ......
149
0
0
2022-11-15
Go lang,为并发而生的静态语言,源于C语言又不拘泥于性能,高效却不流于古板,Python灵活,略输性能,Java严谨,稍逊风骚。君不见各大厂牌均纷纷使用Go lang对自己的高并发业务进行重构,原因无他,经济下行的大背景之下,性能突出、效率拉满的Go lang无疑是高并发场景下节约服务器资源的一剂灵药。与时俱进,顺应潮流,本次我们乘着市场的东风,在各大 ......
175
0
0
2022-11-11
# 封装 type Foo struct{ baz string } func(f *Foo) echo() { fmt.println(f.baz) } func main() { f := Foo{baz:"hello, struct"} f.echo() } #继承 type Foo ......
158
0
0
2022-11-10
一、结构体嵌套package main import "fmt" type Student struct { Name string Age int Score int } func (stu *Student) ShowInfo() { fmt.Printf("学生名=%v 年龄= %v 成绩=% ......
171
0
0
2022-11-09
1.切片是数组的一个引用,因此切片是引用类型,在进行传递时,遵守引用传递的机制。2.切片的使用和数组类似,遍历切片、访问切片的元素和求切片长度 len(slice)都一样。3.切片的长度是可以变化的,因此切片是一个可以动态变化数组。var 切片名 []类型var a []int var intArr [5]int = [5]int{1,3,4,77 ......
149
0
0
2022-11-09
package utils import "sync" type Pool[T Item[T]] struct { p sync.Pool } type Default[T any] interface { Default() T } type Reset interface { Reset() } ......
164
0
0
2022-11-09
问题1都知道大量 if else 对代码维护和设计都及其不友好,即便是你换成 switch 也并不那么理想。if { ... } else if { ... } ... { } else { ... } 例子话不多说,代码搞起来,先来一个可以待优化的实例:package main import ( "errors" ......
166
0
0
2022-11-08