Golang
奥兰治的威廉
这个作者很懒,什么都没留下…
展开
-
Golang go module 导包
Go module 导包,import 正好是项目的文件夹路径,而使用时的前缀是package名,例如:package catalina_utiltype LifecycleBase struct { }package catalina_connectorimport ( "go_tomcat_test/src/catalina/util" // 错误 "go_...原创 2020-04-24 16:14:42 · 215 阅读 · 0 评论 -
Golang 正则表达式
https://www.cnblogs.com/golove/p/3269099.html原创 2019-11-28 10:27:26 · 110 阅读 · 0 评论 -
组合:Go 与 Java 的区别
Go 在组合时,可以不用new被组合的类,而直接使用它们的方法type Flyer struct {}func (Flyer) fly() { fmt.Println("fly")}type Runner struct {}func (Runner) run() { fmt.Println("run")}type Duck struct { Flyer Runn...原创 2019-10-25 09:39:06 · 262 阅读 · 0 评论 -
Golang 接口
在Go语言中接口(interface)是一种类型,一种抽象的类型。interface是一组method的集合,是duck-type programming的一种体现。接口做的事情就像是定义一个协议(规则),只要一台机器有洗衣服和甩干的功能,我就称它为洗衣机。不关心属性(数据),只关心行为(方法)。请牢记接口(interface)是一种类型。接口的定义接口名:使用type将接口定义为...转载 2019-10-23 16:14:00 · 323 阅读 · 0 评论 -
Golang和Java中的继承和组合
Golang的面向对象机制与Smalltalk或者Java等传统面向对象的编程语言不同。传统面向对象编程语言的一个重要特性是继承机制。因为继承机制支持在关联对象间进行代码复用和数据共享。继承机制曾在代码复用和数据共享的设计模式占据主导地位,但是目前组合这一古老的技术重新焕发了活力。在我们探讨如何在Go中实现继承机制之前(Golong中的继承机制和其他语言(Java)的继承机制有区别),我们先看...转载 2019-10-22 14:25:20 · 379 阅读 · 0 评论 -
Golang 反射的参考文章
https://segmentfault.com/a/1190000006190038https://juejin.im/post/5a75a4fb5188257a82110544https://www.gitdig.com/go-reflect/原创 2019-10-18 15:10:23 · 120 阅读 · 0 评论 -
go 数据类型和类型转换
numeric types数字类型包括整型和浮点型,内置的和系统无关的数字类型包括uint8:8位无符号整型(0 to 255) uint16:16位无符号整型(0 to 65535) uint32:32位无符号整型(0 to 4294967295) uint64:64位无符号整型(0 to 18446744073709551615) int8:8位有符号整型(-128 to 12...原创 2019-10-17 20:46:06 · 190 阅读 · 0 评论 -
Go 值类型和引用类型
值类型:基本数据类型,int,float,bool,string,以及数组和struct特点:变量直接存储值,内存通常在栈中分配,栈在函数调用完会被释放引用类型:指针,映射(map),数组切片(slice),通道(channel),方法与函数特点:变量存储的是一个地址,这个地址存储最终的值。内存通常在堆上分配,通过GC回收。所有变量(包括参数, 结构体成员),都是值指针变量也...原创 2019-10-14 14:34:42 · 227 阅读 · 0 评论 -
go run build install get 的区别 以及三种不同的go源码文件
go run:go run 编译并直接运行程序,它会产生一个临时文件(但不会生成 .exe 文件),直接在命令行输出程序执行结果,方便用户调试,go build:go build 用于测试编译包,主要检查是否会有编译错误,如果是一个可执行文件的源码(即是 main 包),就会直接生成一个可执行文件,编译出可执行文件go install:go install 的作用有两步:第一步是编译导入...原创 2019-10-10 12:45:13 · 866 阅读 · 0 评论 -
值传递和引用传递
Java 、Go 和 Python 在函数传参时是值传递还是引用传递?首先要分清楚值类型和引用类型num是基本类型,值就直接保存在变量中。而str是引用类型,变量中保存的只是实际对象的地址。一般称这种变量为"引用",引用指向实际对象,实际对象中保存着内容Java:java中方法参数传递方式是按值传递如果参数是基本类型,传递的是基本类型的字面量值的拷贝如果参数是引用类型,传递...原创 2019-10-09 15:04:41 · 98 阅读 · 0 评论 -
浅拷贝 深拷贝 和 引用拷贝(指针拷贝)
拷贝分为两种方式,一种是引用拷贝(指针拷贝),一种是对象拷贝引用拷贝:和对象拷贝的不同之处在于,引用拷贝只会生成一个新的对象引用地址,但两个地址其最终指向的还是同一个对象对象拷贝:这种方式会重新生成一个新的对象,生成的新对象与原来的对象没有任何关联而对象拷贝又分为 浅拷贝 和 深拷贝下面分别说一下 Java 和 Go 的 拷贝:引用拷贝(指针拷贝):java:U...原创 2019-10-08 16:33:54 · 1060 阅读 · 0 评论 -
goLand 解决无法导入自定义包的问题
import ( "fmt" "rabbitmq/RabbitMQ")import 时无法导入自定义包,提示找不到包,是因为go 有着强制性的规范,需要把所有代码放到src目录,否则将找不到代码。而且还需要设置GOPATH,golang无法找到非GOPATH下的代码,如何在GOLand中设置GOPATH?...原创 2019-10-02 11:38:12 · 8394 阅读 · 1 评论 -
Golang 复杂类型的指针
在Go语言中,没有最复杂的指针运算的部分,只留下了获取指针(&运算符)和获取对象(*运算符)的运算a, b := 3, 5pa, pb := &a, &bfmt.Println(*pa, *pb)复杂类型(非基本类型)的指针对于一些复杂类型的指针, 如果要访问成员变量的话,需要写成类似(*p).field的形式,Go提供了隐式解引用特性,我们只需要p.fi...原创 2019-09-09 13:53:04 · 151 阅读 · 0 评论 -
Golang vscode 环境配置(Windows和 Linux 环境变量配置)
vscode 安装 go tools 时失败是因为墙的原因,需要手动安装:现在自己的GOPATH的src目录下创建golang.org/x目录 在终端/cmd中cd到GOPATH/src/golang.org/x目录下 执行git clone https://github.com/golang/tools.git tools命令 执行git clone https://github....原创 2019-09-08 19:33:51 · 343 阅读 · 0 评论