一、结构体嵌套package main import "fmt" type Student struct { Name string Age int Score int } func (stu *Student) ShowInfo() { fmt.Printf("学生名=%v 年龄= %v 成绩=% ......
398
0
0
2022-11-09
1.切片是数组的一个引用,因此切片是引用类型,在进行传递时,遵守引用传递的机制。2.切片的使用和数组类似,遍历切片、访问切片的元素和求切片长度 len(slice)都一样。3.切片的长度是可以变化的,因此切片是一个可以动态变化数组。var 切片名 []类型var a []int var intArr [5]int = [5]int{1,3,4,77 ......
437
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() } ......
367
0
0
2022-11-09
问题1都知道大量 if else 对代码维护和设计都及其不友好,即便是你换成 switch 也并不那么理想。if { ... } else if { ... } ... { } else { ... } 例子话不多说,代码搞起来,先来一个可以待优化的实例:package main import ( "errors" ......
368
0
0
2022-11-08
一、安装服务使用yum命令安装(推荐)$ sudo su - #切换为root用户 # yum install epel-release # yum install -y supervisor # systemctl enable supervisord # 开机自启动 # systemctl start supervisord # 启动supe ......
348
0
0
2022-10-28
声明一个常量特点:不可变, 在编译时需要确定使用关键词constpackage main import ( "fmt" ) func main() { const a = 18 fmt.Println(a) } 声明一组常量import ( "fmt" ) func main() ......
340
0
0
2022-10-21
学习任何语言的写下的第一行代码应该都是hello word吧,Go也不例外。创建代码目录mkdir -p ~/Documents/go/learngo 我们所有的代码将会放在Documents/go/learngo目录下。Create Go ModuleGo模块用于跟踪应用程序的依赖关系及其版本。这将创建一个名为go.mod的文件。生成的内容如下:modu ......
354
0
0
2022-10-20
goroutinechannel通道 (goroutine通信)package main import "fmt" func main() { var ch1 chan bool ch1 = make(chan bool) go func() { for i := 0; i < 10; i++ { ......
304
0
0
2022-10-11
在src下创建对应的项目目录例:goblog创建git本地初始化创建main.go和README.md文件在gitte上创建对应的仓库,把本地git提交到线上初始化mod输入以下命令git mod init 开始编码在main.go中写入以下代码package main import ( "fmt" "net/http" ) fun ......
311
0
0
2022-09-02
map切片根据某个字段值进行排序思路以字段值为 key 创建一个新的map mapData以字段值创建一个key的切片 keySplice循环切片slice组装新的mapData和keySplice的切片把 keySplice 进行排序循环 keySplice 从 mapData中根据key取值package main import ( "f ......
453
0
0
2022-08-26
字符串切片去重使用sort.String 方法对切片进行排序使用发射机制 对切片进行排序去重前的排序很重要package main import ( "fmt" "reflect" "sort" ) func main() { b := []string{"12", "a", "b", "c", "a ......
444
0
0
2022-08-26
go doc为我们提供了快速生成文档以及查看文档的工具,让我们可以很容易的编写查看文档一、使用go doc命令在终端查看go doc package 获取包的文档注释例如:go doc fmt 会显示使用 godoc 生成的 fmt 包的文档注释。go doc package/subpackage 获取子包的文档注释例如:go doc container ......
307
0
0
2022-08-22
go build用于测试编译多个包或一个main包build命令编译包丢弃非main包编译结果,只是检查是否能够被编译保留main包编译结果一个Go项目在GOPATH下,会有如下三个目录bin存放编译后的可执行文件pkg存放编译后的包文件src存放项目源文件一般,bin和pkg目录可以不创建,go命令会自动创建(如 go install),只需要创建src目 ......
356
0
0
2022-08-22
go install编译并安装代码包,对于库,会生成目标库文件,并且放置到GOPATH/pgk目录下。对于可执文件,会生成目标可执行文件,并且放置到GOPATH/bin目录下一、使用命令 描述 go install lib 编译安装package lib,会为main包在bin下生成可执行exe文件 go install lib2 lib/util 同时编译 ......
328
0
0
2022-08-22
for 循环写法1批量赋值func main() { pars := []int{1,2,3,4} for i,j := 0,len(pars)-1; i < j; i,j = i+1,j-1 { //pars[0],pars[1] = pars[2],pars[3] fmt.Println("i ......
471
0
0
2022-08-18