0. 接口是什么?
这一段摘自 Go语言中文网
在面向对象的领域里,接口一般这样定义:接口定义一个对象的行为。接口只指定了对象应该做什么,至于如何实现这个行为(即实现细节),则由对象本身去确定。
在 Go 语言中,接口就是方法签名(Method Signature)的集合。当一个类型定义了接口中的所有方法,我们称它实现了该接口。这与面向对象编程(OOP)的说法很类似。接口指定了一个类型应该具有的方法,并由该类型决定如何实现这些方法。
Go语言没有复杂的
class
概念,严格来说不是面向对象的语言,她和C语言
很像,是面向函数的;Go中函数用关键字func
来声明。Go没有class
但是有struct、interface
,可以把他们理解成类型定义;问题来了,有一种用func
声明的函数可以指定struct、interface
类型的接收者,这种函数在Go语言中单独叫做方法
;方法的接收者可以是一个类型的值也可以是一个类型的引用(指针)。
对Go语言数据类型的整体认识,可以参考以前的文章:Go学习(一)数据类型的本质
当想要在服务器上部署一个常驻程序时,不想让程序随着Terminal的退出而中止,你可以使用docker nohup supervisor 这些工具来实现。但是处于想学习Linux中Systemd的目的,我使用Systemd来实现把一个Golang程序作为一个系统服务