随笔分类 -  golang

摘要:####声明通道 package main func main() { /* //无缓冲整型通道 unbuffered := make(chan int) //有缓冲字符串通道 buffered := make(chan string,10) //向通道发送值 <- 在通道右侧 buffered < 阅读全文
posted @ 2022-05-31 23:59 青柚 阅读(215) 评论(0) 推荐(1)
摘要:竞争状态 如果两个多以上的goroutine在没有互相同步的情况下,访问某个共享的资源,并试图同时读或者写,就处于相互竞争的状态。 解决这种问题的方法就是在同一时刻只有一个goroutine对此资源进行读写操作。 package main import ( "fmt" "runtime" "sync 阅读全文
posted @ 2022-05-30 23:42 青柚 阅读(375) 评论(0) 推荐(0)
摘要:####Goroutine的概念 当一个函数创建为goroutine时候,就是在匿名函数前加一个go ,golang会把这个函数当做一个独立的工作单元,然后使用golang内部的逻辑处理器进行执行。golang的逻辑处理器在操作系统之上,并且会将golang的逻辑处理器和操作系统的线程进行绑定。 g 阅读全文
posted @ 2022-05-29 23:11 青柚 阅读(320) 评论(0) 推荐(0)
摘要:package main //当用接收者的类型是值类型的时候,只能调用或者传参为值类型,且只能在调用的时候实现值类型的方法 //当接收者是指针的接收者的时候,可以调用所有的接口的方法集。 //且 指针接受者的方法优先级最高,即使指针接收者可以调用值类型的方法,但是对于修改地址变量不生效。 //外部类 阅读全文
posted @ 2022-05-28 23:47 青柚 阅读(116) 评论(0) 推荐(0)
摘要:####方法集 这里先说一下golang的方法集的概念,有助于下面代码的理解: golang的方法集定义了一组关联到给定类型的值或者指针的方法。定义方法时使用的接收者的类型决定了这个方法是关联到值还是关联到指针,还是都关联。 翻译一下官方的定义就是如果接口接受的是一个指针接收者类型的值,那么可以使用 阅读全文
posted @ 2022-05-27 23:16 青柚 阅读(287) 评论(0) 推荐(0)
摘要:#####程序代码 package main //总结:值接收者使用值的副本来调用方法,而指针接收者使用实际值来调用方法! import ( "fmt" ) //声明一个用户结构体 type user struct{ name string email string } //声明值类型接受者方法 f 阅读全文
posted @ 2022-05-26 23:12 青柚 阅读(80) 评论(0) 推荐(0)
摘要:###设置下载驱动时候因为网络问题导致的下载失败,修改代理网址 go env -w GOPROXY=https://goproxy.cn,direct 阅读全文
posted @ 2022-04-08 14:30 青柚 阅读(27) 评论(0) 推荐(0)