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