Go语言入门笔记(三)
范围
range 关键字用于 for 循环中迭代数组、切片、通道或集合(map)的元素,在数组和切片中它返回元素的索引和索引对应的值,在集合中返回 key-value 对的 key 值。
示例 123456789101112131415161718192021func main() { // 在数组上使用 range 将传入 index 和 value 两个变量 nums := []int{1,2,3} sum := 0 for _, v := range nums { sum += v } fmt.Println("sum:", sum) // range 也可以用在 map 的键值对上。 kvs := map[string]string{"a":"apple", "b":"banana"} for k, v := range kvs { ...
Go语言入门笔记(二)
运算符
算数运算符:+ - * / % ++ --
关系运算符:== != > < >= <=
逻辑运算符:&& || !
位运算符:
& 按位与:都为 1 则结果为 1
| 按位或:有一个为 1 则结果为 1
^ 按位异或:对应位不同值则结果为 1
<< 左移:把数整体向左移
>> 右移:把数整体向右移
&^ 位清空:被运算变量 bit 位上数字为 0 ,则取运算变量对应位置上的数字,如果被运算变量 bit 位上数字为 1 ,则结果位上取 0
1234567891011121314func main() { a := 60 // 0011 1100 b := 13 // 0000 1101 println(a & b) // 0000 1100 = 12 println(a | b) // 0011 1101 = 61 println(a ^ b) // 0011 0 ...
Go语言入门笔记(一)
基础语法
import 原理
main 包中导入的包会被顺序导入
导入的包中依赖其他包,会首先导入依赖包,并初始化依赖包中的常量与变量,如果依赖包中有 init(),会自动执行 init()
所有包导入完成后会对 main 包中的变量与常量进行初始化,然后执行 init(),最后执行 main()
一个包被导入多次则该包只会被导入一次
import 别名用法
别名 "package"
. "package" 调用该包中函数时可以省略前缀
_ "package" 只执行包中 init() 函数,无法调用包中其他函数
数据类型
整型
浮点型
字符串型:string 统一编码为 UTF-8
布尔型:true 或 false
派生类型
值类型默认为0,布尔类型默认为 false ,字符串类型默认为空字符串
整型:
序号
类型
1
uint8 无符号 8 位整型 (0 到 255)
2
uint16 无符号 16 位整型 (0 到 65535)
3
uint32 无符号 32 位整型 (0 到 42 ...