1、与其他语言相比,使用 Go 有什么好处?
? 与其他作为学术实验开始的语言不同,Go 代码的设计是务实的。每个功能
和语法决策都旨在让程序员的生活更轻松。
? Golang 针对并发进行了优化,并且在规模上运行良好。
? 由于单一的标准代码格式,Golang 通常被认为比其他语言更具可读性。
? 自动垃圾收集明显比 Java 或 Python 更有效,因为它与程序同时执行。
2、Golang 使用什么数据类型?
Golang 使用以下类型:Method、Bool、String、Array、Pointer、Slice、Struct、Map、Interface、Channel、Function
3、Go 程序中的包是什么?
包 (pkg) 是 Go 工作区中包含 Go 源文件或其他包的目录。源文件中的每个函
数、变量和类型都存储在链接包中。每个 Go 源文件都属于一个包,该包在文
件顶部使用以下命令声明:
package <packagename>
您可以使用以下方法导入和导出包以重用导出的函数或类型:
import <packagename>
Golang 的标准包是 fmt,其中包含格式化和打印功能,如 Println().
4、Go 支持什么形式的类型转换,将整数转换为浮点数?
Go 支持显式类型转换以满足其严格的类型要求
i := 55 //int
j := 67.8 //float64
sum := float64(i) + j // i is converted to float64
5、什么是 Goroutine?你如何停止它?
Go 协程(Goroutine)是与其他函数同时运行的函数。Goroutine比标准线程更轻量级,大多数 Golang 程序同时使用数千个 Goroutine。在函数调用前加上 go 关键字,这次调用就会在一个新的 goroutine 中并发执行。当被调用的函数返回时,这个 goroutine 也自动结束。
要创建 Goroutine,请在函数声明之前添加关键字go 。
go f(x, y, z)
您可以通过向 Goroutine 发送一个信号通道来停止它。Goroutines 只能在被
告知检查时响应信号,因此您需要在逻辑位置(例如 for 循环顶部)包含检
查。
package main
func main() {
quit := make(chan bool)
go func() {
for {
switch {
case <-quit :
return
default:
//...
}
}
}()
//...
quit <- true
}
6、 如何在运行时检查变量类型?
类型开关(Type Switch)是在运行时检查变量类型的最佳方式。类型开关按类型
而不是值来评估变量。每个 Switch 至少包含一个 case 用作条件语句,如果没
有一个 c