![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
go
lidengjia
努力学习,身体健康,孝顺父母
展开
-
go语言的设计模式
在学习rpc小册子时遇到了server端传参用了选项模式前提:要记住在go语言里函数也是一种变量类型,和自定义的其它类型一样,也可以作为值传递,也可以当作结果赋值如下是代码,注释是自己对这块的理解,希望对你能有些许帮助://ServerOptions 结构体类型type ServerOptions struct {address stringnetwork string}//ServerOption 函数类型,参数是ServerOptions这个结构体的值type ServerOption转载 2021-09-27 14:43:14 · 122 阅读 · 0 评论 -
go语言变量基础
第一种适用于全局变量,var关键字+变量名+类型,并且支持多变量赋值。var a string a="lidengjia"var b int b=18var a,b,c stringa,b,c="lidengjia","hnu","university"下面是其他主流的数据结构var a *intvar a []intvar a map[string] intvar a chan intvar a func(string) intvar a error // error 是接原创 2021-09-09 16:52:14 · 93 阅读 · 0 评论 -
go语言配置安装大全(兼容ubuntu,centos)
go语言安装万事开头难,其实在linux类机器上安装语言是不是一件麻烦的事情,它能直观的让你感受到文件存放的位置和系统环境变量的配置。下载并解压安装包wget https://studygolang.com/dl/golang/go1.14.3.linux-amd64.tar.gztar -zxvf go1.14.3.linux-amd64.tar.gz -C /usr/local/配置go语言的环境变量ubuntusudo vim /etc/profileexport GOPATH=/原创 2020-05-27 11:50:57 · 229 阅读 · 0 评论 -
go语言的包管理机制
新的包管理模式有什么不同?作为Go语言的推广者,常常被问到各种关于Go语言的基础特性问题。其中,关于包管理方面的问题会让我非常尴尬,因为Go的包管理在1.11之前与Python、Node、Java比较起来真的只能算是“仅仅可用”而已。因为:在不使用额外的工具的情况下,Go的依赖包需要手工下载,第三方包没有版本的概念,如果第三方包的作者做了不兼容升级,会让开发者很难受协作开发时,需要统一各个开发成员本地$GOPATH/src下的依赖包引用的包引用了已经转移的包,而作者没改的话,需要自己修改引用。原创 2020-05-19 01:00:03 · 176 阅读 · 0 评论 -
go总结
Go语言学习整理本文基于菜鸟教程,对于自己不明白的点加了点个人注解,对于已明确的点做了删除,可能结构不太清晰,看官们可移步Go语言教程1 Go语言结构当标识符(包括常量、变量、类型、函数名、结构字段等等)以一个大写字母开头,如:Group1,那么使用这种形式的标识符的对象就可以被外部包的代码所使用(客户端程序需要先导入这个包),这被称为导出(像面向对象语言...转载 2020-02-14 16:12:26 · 114 阅读 · 0 评论 -
go语言指针
Go语言基础之指针区别于C/C++中的指针,Go语言中的指针不能进行偏移和运算,是安全指针。要搞明白Go语言中的指针需要先知道3个概念:指针地址、指针类型和指针取值。Go语言中的指针任何程序数据载入内存后,在内存都有他们的地址,这就是指针。而为了保存一个数据在内存中的地址,我们就需要指针变量。比如,“永远不要高估自己”这句话是我的座右铭,我想把它写入程序中,程序一启动这句话是要加载到内存...转载 2020-02-12 12:02:03 · 168 阅读 · 0 评论 -
go接口(interface)
package mainimport "fmt"type Animal interface { move() say()}type dog struct { name string}type cat struct { name string}func (d dog) move() { fmt.Printf("%s会跑\n", d.name)}func (d d...原创 2020-02-11 11:22:58 · 76 阅读 · 0 评论