GO语言初学:
优点:
1.性能好:
和c++java一样的高性能,而且比java用起来简单,不用过多的调用第三方库,自身库就有很强大的功能
2.好学:
和c一样易懂,但是
3,标准库丰富:
不用解决版本冲突等问题,自身库用起来也相对
语法:
main包是入口包,相当于入口文件
import导入包
run是直接运行
build是编译
变量:
他回合python一样自动识别
也可以自己定义
两种方法
第一种var定义
第二种冒号定义
定义常量的时候同上
if else:
类似于c++但是括号可以省略不写,写上的话也可以,他会在运行的时候自动清除掉
比较的话用字符串之间直接用等号也可以
但是不同点是他的大括号不可以省略不写
循环:
没有while,直接不写定义就是一个死循环,像第一个
也可以加上和c里面一样的定义
同样也是不带括号
也可以用continue和break
switch
他可以不加break,遇见的话直接退出
而且这个是switch不用必须定义为int型
什么都可以
数组:
他是定长的
切片:
直接就是一个变长的数组
可以用append但是最后用完之后他要再赋值回去因为他的本质其实一个存储了长度的指针
map
前面是key,后面是value
存储完全无序
想判断的话可以定义一个来进行比较
range:
也是一种遍历方法
函数:
原生就支持返回错误信息
像第二个就是直接返回错误信息,有没有这个值
在业务中一般都返回两个值
指针:
类似于c++了
结构体:
可以不传入值
不传入的话int默认为0
string默认为空字符串“”
也可以作为函数的的参数
作为参数的话也可以用指针
同理用指针的话可以避免对大的结构体的复制,也可以直接修改掉指针
错误处理:
因为他可以直接返回错误
剩下的按照正常的来考虑就行了
字符串的操作:
就是如图了,也都是一些一般操作
中文的话字节会比较多,参考编码格式,要注意
对于字符串 "你好",在 UTF-8 编码中:
你通常占用 3 个字节。好通常也占用 3 个字节(但具体字节数可能因字符集和编码实现而异,但 UTF-8 中大多数中文字符占用 3 个字节是一个常见的规则)。
当您尝试执行 a[0] + a[1] + a[2] + a[3] 时,您实际上是在将这些字节的整数值相加。这些值通常不是人类可读的字符,而是表示字符编码的数值。
您可以使用 for range 循环来遍历字符串中的每个 rune:
hello world!
Index: 0, Character: 你, Unicode Code Point: U+4F60
Index: 1, Character: 好, Unicode Code Point: U+597D
字符串格式化:
用%+打印比较详细的值
用%+#打印出非常详细的值
也是%.2f来打印小数点后几位
json处理:下去再看
时间处理:
时间戳now.unix