Java转Go

2018-10-30 昨天看了一天的Go,今天记录一下吧
使用Go当然需要用到Go的命令和Go的工具,而这些离不开Go的配置
GOROOT:
就是Go的安装路径
GOPATH:
是编译后的存放的位置和import时搜索路径,同时这个也可以当做Java 中的workerspace
主要存放的三个目录:
bin:存放可执行目录
pkg:存放编译好的库文件
src:存放源文件

2018-11-12
10:46:更
Go中指针与地址是有时候会遗漏啊,可能跟敲的代码不是非常多有关吧,Java敲的很多了,基本都是引用传递,Go 传slice 的时候记得要用& ,就算内部成员都是*,但是当call func的时候内部还是没改变的,谨记
2018-11-10
14:27
Go中一些相关是通过//实现的(与注释同一个级别) 如//Decreted 代表 过期 在Java则是通过@Decrepted 表示,Go有点奇怪啊… ,竟然是用注释来实现的
14:53
代码洁癖者,重复的CRUD简直遭罪,Go中实现抽象类与Java差距好大,Go中实现抽象类主要还是通过内部再定义一个此类型的变量,而对于abstract 方法则是通过这个变量来调用的,从而实现延迟调用(感觉有点不优雅)
Java :

public Interface A {void say();} 
public abstract class AbsB implements A {proteced abstract void childCall();}
public class C extends AbsB{//实现具体的方法}

Go:

type A interface{ say()}
type AbsB struct { //绑定方法,从而达到接口实现的功能
	absB AbsB
	func (ab *AbsB)say(){} 
	func ChidCall(){absB.ChildCall()} //这一步达到让延迟加载的作用
}
type C struct{
	AbsB  //达到继承功能
	func .. ... 然后重写ChildCall方法,达到抽象实现功能
}

2018-11-13
 16:41:
Go的web开发模式好像不是mvc模式啊,看了好几个demo,c与servie好几个都是绑定着的…
go build 构建,会生成可执行文件 ,然后直接./ 即可
go run 直接执行 XXX.go 即可
go install 命令会将编译后的文件和库文件安装到指定的目录下 (并且可执行文件与其所在目录同名,可执行文件被放置在src同级的bin目录下,同时编译后将依赖的package包编译后放在src同级的pkg目录下)
还是单独记录了,每次都要更新太麻烦

猜你喜欢

转载自blog.csdn.net/Coder_Joker/article/details/83545428