golang基础用法

发布于:2024-07-16 ⋅ 阅读:(159) ⋅ 点赞:(0)

一、基础用法

  1. 基础定义
// 变量
var int i 
i =5 

i :=5 
i, j := 3,"dsafd"

// 常量

const (
i = "adfa"
b = 5
)

// 特殊常量itoa
itoa重新出现表示规0 
后面会自动+1
const (
    Monday = iota // 0
    Tuesday        // 1
    Wednesday      // 2
    Thursday       // 3
    Friday         // 4
    Saturday       // 5
    Sunday         // 6
)

  1. 关键字

switch case
break: 跳出for循环,跳出switch语句

chan :通道类型
defer 函数执行前的最后执行语句
fallthrough : switch case 穿透执行下个case

变量采用驼峰式命名
var numList string

3、字符串
底层是只读的字节数组 所以遍历字符串按坐标取值时,取值的为数组的Unicode字符,还需要转化为string才能作为字符使用,

strconv.Itoa() 数值转化为字符
strconv.FormatFloat() 可以将浮点数转换为字符串。
fmt.Sprintf() 可以使用格式化字符串将其他数据类型转换为字符串。

反过来,字符串也可以通过解析函数将字符串转换为其他数据类型,例如:

strconv.Atoi() 可以将字符串转换为整数。
strconv.ParseFloat() 可以将字符串转换为浮点数。
strconv.ParseBool() 可以将字符串转换为布尔值。

utf-8 表示unicode字符,1-4个字节组成。

内置函数

make 创建切片、map、通道

append 追加切片元素

panic报错,recover 捕获

bit 比特是二进制位,计算机存储的最小单位

byte 字节 – B ,是计算机处理的最小单位 1B = 8bit

1字节= 1B =8bit
1KB = 1024B
1MB = 1024KB
1GB = 1024M
字和字节都是计算机的存储单元,字由若干个字节组成,一个字节8bit,字的位数表示为字长,是cpu一次处理二进制代码的位数,32为机器,一个字就是32位,4个字节, 64位机器,一个字就是64位,一次处理8个字节。

编码:GB2312 、GBK是汉字编码,
ASCII码一共定义了128个字符。 一个汉字占两个字节,一个英文字母占一个字节。
unicode 是ascii 的扩展,双字节编码,英文和中文都为两个字节。

UTF-8编码是一种多字节编码,也是目前互联网应用最广泛的一种Unicode编码方式。最大特点就是可变长,可根据字符的不同变换长度。一个英文字符占用一个字节,一个中文(含繁体)占用三个字节。英文标点占用1个字节,中文标点同样占用3个字节。

字符串:
golang中的字符串底层为byte数组,直接取len,如果有中文的话,则不是字符的长度。 在utf-8中中文占3个字符

所以在获取string的字符的时候,应该先转化为[]rune 数组。 再获取对应的字符。

goroutine

通常使用sync.WaitGroup 来保障主进程等待协程执行完成。

计数器通常在启动go routine 前add 再执行完后释放wg.Done 在主进程wg.Wait

select case 当case条件满足多个的时候,会随机选择case执行,而不是按照顺序


网站公告

今日签到

点亮在社区的每一天
去签到