【Go语言】学习笔记(一)

124 阅读2分钟

前言

上课时,数据库老师和我们说Go语言十分有就业前景,于是抱着学习的心态来了解了解,因为是学习笔记,所以有错误或者需要改进的地方大家可以及时指出,俺很听劝哈哈。

Go语言简介

Go语言是一种让代码分享更容易的编程语言。Go 语言自带一些工具,让使用别人写的包更容易,并且 Go 语言也让分享自己写的包更容易。Go 语言对传统的面向对象开发 进行了重新思考,并且提供了更高效的复用代码的手段,还让用户能更高效地利用昂贵服务器上的所有核心,而且它编译大型项目的速度也很快。

Go 语言的类型系统

1.类型简单

Go语言不仅有类似 int 和 string 这样的内置类型,还支持用户定义的类型。在 Go 语言中,用户定义的类型通常包含一组带类型的字段,用于存储数据。Go 语言的用户定义的类型看 起来和 C 语言的结构很像,用起来也很相似。不过 Go 语言的类型可以声明操作该类型数据的方法。传统语言使用继承来扩展结构——Client 继承自 User,User 继承自 Entity,Go 语言与此不同, Go 开发者构建更小的类型——Customer 和 Admin,然后把这些小类型组合成更大的类型。

2.Go 接口对一组行为建模

接口用于描述类型的行为。如果一个类型的实例实现了一个接口,意味着这个实例可以执行一组特定的行为。你甚至不需要去声明这个实例实现某个接口,只需要实现这组行为就好。其他的语言把这个特性叫作鸭子类型——如果它叫起来像鸭子,那它就可能是只鸭子。Go 语言的接 口也是这么做的。在 Go 语言中,如果一个类型实现了一个接口的所有方法,那么这个类型的实 例就可以存储在这个接口类型的实例中,不需要额外声明。

image.png

下面是一个 Java 接口的例子:

interface User { 
      public void login(); 
      public void logout(); 
}

Go语言实现接口:在 Go 语言中,最常使用的接口之一是 io.Reader。这个接口提供了一个简单的方法,用来声明一个类型有数据 可以读取。标准库内的其他函数都能理解这个接口。

type Reader interface { 
Read(p []byte) (n int, err error) 
}