Go语言的特点

Python017

Go语言的特点,第1张

类型 在变量名后边

也可不显式声明类型, 类型推断, 但是是静态语言, name一开始放字符串就不能再赋值数字

方法,属性 分开 方法名首字母大写就是就是外部可调的

面向对象设计的一个重要原则:“优先使用组合而不是继承”

Dog 也是Animal , 要复用Animal 的属性和方法,

只需要在结构体 type 里面写 Animal

入口也是main, 用用试试

多态, 有这个方法就是这个接口的实现, 具体的类 不需要知道自己实现了什么接口,

使用: 在一个函数调用之前加上关键字go 就启动了一个goroutine

创建一个goroutine,它会被加入到一个全局的运行队列当中,

调度器 会把他们分配给某个 逻辑处理器 的队列,

一个逻辑处理器 绑定到一个 操作系统线程 ,在上面运行goroutine,

如果goroutine需要读写文件, 阻塞 ,就脱离逻辑处理器 直接 goroutine - 系统线程 绑定

编译成同名.exe 来执行, 不通过虚拟机, 直接是机器码, 和C 一样, 所以非常快

但是也有自动垃圾回收,每个exe文件当中已经包含了一个类似于虚拟机的runtime,进行goroutine的调度

默认是静态链接的,那个exe会把运行时所需要的所有东西都加进去,这样就可以把exe复制到任何地方去运行了, 因此 生成的 .exe 文件非常大

学习go语言,大家一定很想如何快速搭建自己的第一个go项目,那么我们就必须了解两个关键点,也就是GOROOT与GOPATH。

GOROOT与GOPATH都是与go项目息息相关的重要路径,前者GOROOT为go的安装环境地址,后者GOPATH为我们的项目地址,也就是我们在这个目录下构建我们的项目依赖,但我们的项目可以不必放在此目录下。

这里着重说一下GOPATH,为什么要有GOPATH这个东西呢,当我们学习go后就会知道,go都会引用很多的依赖来辅助我们进行快速的开发与功能的实现,这点类似python的依赖包与php的扩展,所以go的这些依赖资源也需要一个固定的目录将其存放,以便我们所有的go项目都可以引用这些包,所以,说到这GOPATH这个东西大家都会明白是干什么用的了。

再不明白的看下图。

好了入门问题解决!那么,就开始愉快的搭建go项目吧。

golang学习比较简单,不过任何一门语言都不是孤立存在的,在这里简要说明一下golang开发的学习路线

1.golang基础,包括go语言安装,go语言语法,流程控制语句,函数,方法,面向对象概念,网络编程,并发编程等

2.golang开发框架,包括beego,gin,Iris,Echo等

3.微服务开发

4.深入的话还可以学习算法部分。如果要接触区块链相关技术的话,还需要学习区块链的加密算法等相关知识

5.如果要结合go实现应用的话,肯定离不开各种数据库,比如关系型数据库oracle、mysql,或者各类非关系型数据库等等

6.如果需要开发界面的话,还需要学习网页编程如html,javascript,vue,elementUI,bootstrap等网页开发技术和框架。

7.在以上学习的基础上还可以向架构方面深入学习。

链乔教育在线祝您学有所成。