Golang基础
2022/5/4 23:18:22
本文主要是介绍Golang基础,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Golang基础
1. 主要特征
1.1 特征
- 垃圾回收
- 丰富的内置类型
- 多返回值
- 匿名函数
- 闭包
- OOP
- 并发编程
- 反射
- 错误处理
1.2 命名规则
- 首字母可以是不能是数组
- 可以由Unicode字符、下划线、数字构成
- 长度不限
- 严格固定首字母大小写,有不同含义
1.3 Go项目
一个Golang工程中主要包含三个目录:
在GOPATH目录下
- bin:编译后的二进制文件
- src:源代码文件
- pkg:包文件
2. 丰富的内置类型
-
2.1 普通类型:
- bool
- int(32 or 64), int8, int16, int32, int64
- uint(32 or 64), uint8(byte), uint16, uint32, uint64
- float32, float64
- string
- complex64, complex128
- array
官方文档:int is a signed integer type that is at least 32 bits in size. It is a distinct type, however, and not an alias for, say, int32.
int整形最少占32位,int和int32是两码事
complex:复数类型
可以存储两个数值:real、image
实数部分和虚数部分都是[float32]类型
可以通过real(complex)拿到real值,同理可以通过imag(complex)拿到image值
例如:
func main() { c := complex(11.11, 22.22) fmt.Printf("%f\n%f", real(c), imag(c)) }
输出为:
11.110000
22.220000
array为固定长度
2.2 引用类型
- slice
- map
- chan
2.3 内置接口error
// The error built-in interface type is the conventional interface for // representing an error condition, with the nil value representing no error. // 表示错误条件,nil值表示没有错误。 type error interface { Error() string }
只要实现了这个方法,就是实现了error
可以自定义error
例如:
// 定义一个类 type Demo struct { } // 这个类实现Error方法,也就是实现error接口 func (d *Demo) Error() string { return "自定义错误" } func main() { err := testErr() fmt.Println(err) } // 模拟一个错误 func testErr() error { return &Demo{} }
此时打印:自定义错误
3. 函数
3.1 init函数
- init函数用于包(package)的初始化,该函数是go语言的一个重要特性
- 每个包都可以有多个init()
- 包里每个源文件也可以有多个init()
- 多个init()执行顺序没有明确的规定
- 不同包的init()按照包导入的依赖关系决定执行顺序
- init()不能被其他函数调用
- 在main()执行前自动被调用
3.2 main函数
Go语言程序的默认入口函数(主函数)
-
两个函数在定义时不能有任何的参数和返回值
-
Go程序自动调用。
-
init函数可以应用于任意包中,且可以重复定义多个
-
main函数只能用于main包中,且只能定义一个。
未完
这篇关于Golang基础的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-15SendGrid 的 Go 客户端库怎么实现同时向多个邮箱发送邮件?-icode9专业技术文章分享
- 2024-11-15SendGrid 的 Go 客户端库怎么设置header 和 标签tag 呢?-icode9专业技术文章分享
- 2024-11-12Cargo deny安装指路
- 2024-11-02MongoDB项目实战:从入门到初级应用
- 2024-11-01随时随地一键转录,Google Cloud 新模型 Chirp 2 让语音识别更上一层楼
- 2024-10-25Google Cloud动手实验详解:如何在Cloud Run上开发无服务器应用
- 2024-10-24AI ?先驱齐聚 BAAI 2024,发布大规模语言、多模态、具身、生物计算以及 FlagOpen 2.0 等 AI 模型创新成果。
- 2024-10-20goland工具下,如修改一个项目的标准库SDK的版本-icode9专业技术文章分享
- 2024-10-17Go学习:初学者的简单教程
- 2024-10-17Go学习:新手入门完全指南