概述
在 Go 语言中,如果一个结构体和一个嵌入字段同时实现了相同的接口会发生什么呢?我们猜一下,可能有两个问题:
1.编译器会因为我们同时有两个接口实现而报错吗?
2.如果编译器接受这样的定义,那么当接口调用时编译器要怎么确定该使用哪个实现?
在写了一些测试代码并认真深入的读了一下标准之后,我发现了一些有意思的东西,而且觉得很有必要分享出来,那么让我们先从 Go 语言中的方法开始说起。
方法
Go 语言中同时有函数和方法。一个方法就是一个包含了接受者的函数,接受者可以是命名类型或者结构体类型的
为什么使用GO
go 高性能 且 开发速度快
Go 语言使用了更加智能的编译器,并简化了解决依赖的算法,最终提供了更快的编译速
度。 编译 Go 程序时,编译器只会关注那些直接被引用的库,而不是像 Java、C C++那
样,要遍历 依赖链中所有依赖的库。因此,很多 Go 程序可以在 1 秒内编译完。在现代硬
件上,编译整个 Go 语言的源码树只需要 20 秒
go 语法简洁,类型系统简单且高效,使用接口作为代码复用的基础模块
编译速度快,减少了构建时间
内置并发机制、垃圾回收器
go
Go 语言基础语法
上一章节我们已经了解了 Go 语言的基本组成结构,本章节我们将学习 Go 语言的基础语法。
Go 标记
Go 程序可以由多个标记组成,可以是关键字,标识符,常量,字符串,符号。如以下 GO 语句由 6 个标记组成:
fmt.Println(Hello, World!)
6 个标记是(每行一个):
1. fmt
2. .
3. Println
4. (
5. Hello, World!
6. )
行分隔符
在 Go 程序中,一行代表一个语句结束。每个语句不需要像 C