GO 基础类

本文介绍了Go语言的基础知识,包括其设计原则、并发优化、类型系统、包管理、类型转换、Goroutine、类型检查、接口关系、同步锁、Channel特性、内存管理和单元测试。讲解了Go语言中的数据类型、包、类型转换、Goroutine的工作原理,以及如何使用Mutex、Channel进行并发控制。此外,还讨论了Go的单元测试框架Convey和内存管理中的new与make函数的差异。
摘要由CSDN通过智能技术生成

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值