随笔分类 -  go基础

1 2 下一页
go判断实现接口的方法 var _ Interface = (*Type)(nil)
摘要:阅读源码过程中发现很多var _ Interface = (*Type)(nil)写法,对于接口实现情况的判断十分优雅,而自己编写代码过程中鲜有涉及。 var _ InnerObjectWithSelector = (*PodChaos)(nil) var _ InnerObject = (*Pod 阅读全文
posted @ 2024-03-27 14:47 每天进步一点点点点点 阅读(61) 评论(0) 推荐(0)
go 时间范围取日期值
摘要:应用场景,如按时间范围查es数据,需要将日期的索引传入,则需要将日期出 //时间范围转换并加上索引名 func (s *SearchEs) GetTime(startTime,endTime,indexName string) []string { var d []string timeFormat 阅读全文
posted @ 2022-09-14 15:36 每天进步一点点点点点 阅读(120) 评论(0) 推荐(0)
go goroutine实现素数统计
摘要:统计1-120000的素数 1、分析可以通过分段,go协程来实现 2、协程1统计1 30000 3、协程2统计30001 60000 4、协程3统计60001 90000 5、协程4统计90001 120000 如果有更多的数据可以分更多的协程来统计 package main import ( "f 阅读全文
posted @ 2022-07-23 17:05 每天进步一点点点点点 阅读(61) 评论(1) 推荐(0)
go gorm分页过滤查询
摘要:type WorkFlow struct { gorm.Model Name string `json:"name"` Namespace string `json:"namespace"` Ingress string `json:"ingress"` Service string `json:" 阅读全文
posted @ 2022-06-30 17:11 每天进步一点点点点点 阅读(495) 评论(0) 推荐(0)
go 装饰器
摘要:go 装饰器实现统计函数运行时间 func TestDecorator(t *testing.T) { fn := Timer(TimerTest) fn() } func Timer(fn func()) func() { return func() { start_time := time.No 阅读全文
posted @ 2022-06-17 08:31 每天进步一点点点点点 阅读(78) 评论(0) 推荐(0)
go 基础处理json
摘要:type Studen struct { Name string Age int Gender string } func main() { //json编码和解码 //把结构体编码成json字符串 编码 //接收json字符串,转换成结构体 解码 lily := Studen{ Name: "li 阅读全文
posted @ 2022-05-17 11:38 每天进步一点点点点点 阅读(108) 评论(0) 推荐(0)
go 基础select
摘要:go select //多个channel协同分工,使用select来监听多个通道 //select和switch类似,case func main() { numchan1 := make(chan int) numchan2 := make(chan int) go func() { for{ 阅读全文
posted @ 2022-05-17 11:35 每天进步一点点点点点 阅读(35) 评论(0) 推荐(0)
go 基础chan
摘要:管道 chan func main() { numchan := make(chan int) go func() { for i:=0;i<20;i++{ numchan <- i fmt.Println("写入数据:",i) } close(numchan) }() //管道通过range遍力, 阅读全文
posted @ 2022-05-17 11:34 每天进步一点点点点点 阅读(41) 评论(0) 推荐(0)
go 权限控制
摘要:权限控制 //Go 语言中,权限通过字母大小写来控制 //Import 如果包名不同,那么只有大小字母开头的才是public的 //对于类里面的成员,方法,只有大写开通的才能在其他包中使用 阅读全文
posted @ 2022-05-17 11:24 每天进步一点点点点点 阅读(262) 评论(0) 推荐(0)
go 类和继承
摘要:类和继承 //Go通过结构体构建类 type Person struct { name string age int gender string score float64 } func (p *Person)Eat() { //类绑定方法 p.name = "hello" fmt.Println( 阅读全文
posted @ 2022-05-17 11:22 每天进步一点点点点点 阅读(237) 评论(0) 推荐(0)
go 基础defer
摘要:defer func main() { //defer 延迟关键字,可以用于修饰语句 函数,确保在退出时执行 //一般用于资源清理工作 //解锁 关闭文件 //在一个函数中多次调用defer,先入后出 Readfile("test/var_var.go") } func Readfile(filen 阅读全文
posted @ 2022-05-17 11:19 每天进步一点点点点点 阅读(26) 评论(0) 推荐(0)
go init函数
摘要:init函数 //init函数没有参数和返回值 //一个包可以有多个init,调用顺序不定 //不允许用户显式调用 //只想使用init函数,在引用的地方使用_ //可以有多个init函数 func init() { fmt.Println("this is first init") } 阅读全文
posted @ 2022-05-17 11:16 每天进步一点点点点点 阅读(44) 评论(0) 推荐(0)
go 基础结构体
摘要:结构体 //go 结构体使用type struct 来定义 type Student struct { name string age int gender string score float64 } func main() { lilei := Student{ name: "lilei", a 阅读全文
posted @ 2022-05-17 11:15 每天进步一点点点点点 阅读(23) 评论(0) 推荐(0)
go 基础const iota
摘要:const iota //在go中没有枚举类型,但是可以使用const iota进行模拟 const ( MON = iota TUE WEN ) //iota 是常量计数器 //iota从0开始,每换行递增1 const ( ADDR = "shenzhen" ) //const 自动推导 fmt 阅读全文
posted @ 2022-05-17 11:13 每天进步一点点点点点 阅读(65) 评论(0) 推荐(0)
go 基础switch
摘要:switch arr1 := []string{"hello","world2"} switch arr1[1] { case "hello": fmt.Println("hello") case "world": fmt.Println("world") default: fmt.Println( 阅读全文
posted @ 2022-05-17 11:12 每天进步一点点点点点 阅读(42) 评论(0) 推荐(0)
go 基础函数
摘要:函数 func test2(a int,b int,c int) (int,string) { //函数返回值在参数列表之后 //如果有多个返回值,使用圆括号 return a+b+c,"hello" } func test3(a int) (s1 string) { //函数返回值可以指定名字,在 阅读全文
posted @ 2022-05-17 11:08 每天进步一点点点点点 阅读(27) 评论(0) 推荐(0)
go基础字典
摘要:字典 //1定义map,然后在分配空间 var dict2 map[string]string dict2 = make(map[string]string) dict2["key"] = "value" //2定义map并分配空间,常用 dict := make(map[int]string,20 阅读全文
posted @ 2022-05-17 11:04 每天进步一点点点点点 阅读(41) 评论(0) 推荐(0)
go 基础数组和切片
摘要:数组 //1、var定义 var arr1 [10]int arr1[0] = 1 //自动推导 arr2 := [10]int{} arr2[0] = 2 fmt.Println(arr1,arr2) for k,v := range arr1{ fmt.Println(k,v) } 切片 不定长 阅读全文
posted @ 2022-05-17 10:57 每天进步一点点点点点 阅读(37) 评论(0) 推荐(0)
go基础指针
摘要:go 基础指针 //go 语音指针 name := "lili" ptr := &name fmt.Println(*ptr) fmt.Println(ptr) //2 new关键字定义 name2prt := new(string) *name2prt = "lily" fmt.Println(n 阅读全文
posted @ 2022-05-17 10:47 每天进步一点点点点点 阅读(22) 评论(0) 推荐(0)
go 变量
摘要:go 基础变量 //1 定义变了 var 变量名 数据类型 var name string name = "alince" fmt.Println("name: ", name) var age int age = 33 fmt.Println("age: ", age) //2 定义时直接赋值 v 阅读全文
posted @ 2022-05-17 10:44 每天进步一点点点点点 阅读(27) 评论(0) 推荐(0)

1 2 下一页