随笔分类 -  go

golang生态以及语法
摘要:一、系统环境变量 GOROOT 指定go的安装目录,win是在 C\\Go\\ ,Linux在 /usr/local/go 下,如果不是默认的目录,则需要指定 GOROOT环境变量,否则不需要 GOPATH 工作目录,可以指定多个,环境变量中用 分割 go get下载目录的时候默认会下载到第一个GO 阅读全文
posted @ 2020-04-29 10:19 jkjkjkjkjkjk 阅读(508) 评论(0) 推荐(0)
摘要:一、reflect.Typeof() 如果传入的是一个接口,如果是动态绑定了一个实现结构体的,则显示具体结构体的Type,否则是接口的名字。这个方法返回的是一个Type接口,其实就是返回了 绑定类型的rtype,这个指针在Value这个结构体有 Typeof返回的是一个Type接口下面看看Type接 阅读全文
posted @ 2020-04-24 19:12 jkjkjkjkjkjk 阅读(381) 评论(0) 推荐(1)
摘要:1、map基本使用 map声明 创建 判断值是否存在 只接受一个的话默认返回的是value,两个的话有exists map遍历 删除 2、map和set go没有内置set类型,但是可以用map很轻松模仿, 因为map的key是唯一的 3、map底层结构 借鉴了如下博客。写的很好 " 深入Go的Ma 阅读全文
posted @ 2020-04-15 08:55 jkjkjkjkjkjk 阅读(1498) 评论(0) 推荐(0)
摘要:一、三种指针类型 1. 普通指针 2. 非类型安全指针 unsafe.Pointer(类似c的 void ) 3. 内置类型指针 uintpter(其实就是一个整数,代表地址,支持运算) 普通指针和unsafe.Pointer类型的指针都能代表引用一个地址,被GC发现。但是uintptr是不代表引用 阅读全文
posted @ 2020-04-12 15:23 jkjkjkjkjkjk 阅读(315) 评论(0) 推荐(0)
摘要:关闭原则 一个常用的使用Go通道的原则是不要在数据接收方或者在有多个发送者的情况下关闭通 道。 通用的原则是不要关闭已关闭的通道 错误关闭 go func Write(dataCh chan int){ for{ if value:=rand.Intn(1000);value!=0{ time.Sl 阅读全文
posted @ 2020-03-22 14:31 jkjkjkjkjkjk 阅读(900) 评论(0) 推荐(0)
摘要:1、读写 2、管道实现定时通知 3、管道实现互斥锁 阅读全文
posted @ 2020-03-22 14:29 jkjkjkjkjkjk 阅读(1923) 评论(0) 推荐(0)
摘要:1、管道分类 读写管道 只读管道 只写管道 缓冲通道 :创建时指定大小(如果不指定默认为非缓冲通道) 2、正确使用管道 1. 管道关闭后自能读,不能写 2. 写入管道不能超过管道的容量 cap ,满容量还写则会阻塞 3. 管道为空时,如果没有关闭,则继续读取会阻塞当前线程,直到有东西写入管道 4. 阅读全文
posted @ 2020-03-22 14:25 jkjkjkjkjkjk 阅读(1267) 评论(0) 推荐(0)
摘要:1、defer执行时机 go //defer初始化值和位置有关 推迟执行的仅仅是函数体 func f3(j int) (i int) { defer func(a int) { i += a log.Println(" ",j) //退出阶段j=100 进入阶段j=10 a=10 }(j) j =1 阅读全文
posted @ 2020-03-13 19:03 jkjkjkjkjkjk 阅读(431) 评论(0) 推荐(0)
摘要:1、结构体方法 go不是纯粹的面向对象的,在go里面函数是一等公民,但是go也有结构体实现类似java一样类的功能来提供抽象。结构体的方法分为 值方法 和 指针方法 ,前者在方法中做的改变不会改变调用的实例对象,后者则会改变,同样不管是值类型还是指针类型都是可以被调用的,因为go结构体底层会自动转化 阅读全文
posted @ 2020-03-12 10:09 jkjkjkjkjkjk 阅读(1512) 评论(0) 推荐(0)
摘要:切片与数组 go的数组是这样的 go的切片 len和cap的区别 make切片有两个参数 len 和 cap len :代表底层数组可访问的范围 用索引访问不可越过这个界限 cap :代表底层数组的长度,如果 append 元素时没有超过这个cap,则不再创建底层数组,否则开辟新的空间,同时增大ca 阅读全文
posted @ 2020-03-07 20:06 jkjkjkjkjkjk 阅读(423) 评论(0) 推荐(0)