go语言环境及基本常识3

特殊语法
三个点…
GOLANG
1 | // 1. 做为形参的参数前的三个点意思是可以传0到多个参数 |
大括号{}
GOLANG
1 | // 大括号用于 数组 中放值 |
指针
以下为 简单理解
GOLANG
1 | // 有了 `指针` 就可以调用 `指针对应地址` 里边的东西 |
关键字
type
GOLANG
1 | // 1. 相当于类型重命名 |
defer
关闭资源的时候可以用该关键字
GOLANG
1 | f, err := os.Open("config.json") |
nil
没有要传的值,可以传 nil
GOLANG
1 | // 将 _ 定义为 UserMessageHandler 指针类型的 nil |
range
GOLANG
1 | // 如果遍历的时候,遍历的容器是一个 nil 类型,那么会进行一个空的迭代 |
容器
数组
GOLANG
1 | // 声明与初始化 |
切片
切片不存储元素,只是对数组的引用
打印所有切片可以用 arr
和 arr[:]
切片可以动态扩容。
放 容量 就是 数组 ,不放 容量 就是 切片 。
GOLANG
1 | // 声明切片,零值为 nil |
map
GOLANG
1 | // 声明 |
json
这里展示 json 与 结构体 的映射
GOLANG
1 | type Configuration struct { |
xml
这里展示 xml 与 结构体 的映射
GOLANG
1 | type LoginInfo struct { |
一些模块
常用函数
函数 | 相关说明 |
---|---|
len() | 获取数组长度 |
append() | 给切片中添加元素。 使用方法可以 点击 查看 |
常用模块的解析
模块名 | 相关说明 | 跳转链接 |
---|---|---|
bufio | 用于流的处理 | 点击跳转 |
bytes | 用作流和二进制数据处理 | 点击跳转 |
context | 用于不同 goroutine 之间交换信息 | 点击跳转 |
errors | 用作错误提示 | 点击跳转 |
exec | 用于命令行的执行 | 点击跳转 |
filepath | 文件路径相关处理 | 点击跳转 |
fmt | 用于数据输出与格式化 | 点击跳转 |
html | 用于 html 数据处理 | 点击跳转 |
http | 用于 http 请求与响应处理 | 点击跳转 |
io | 用于流的处理 | 点击跳转 |
json | 用于 json 相关的处理 | 点击跳转 |
log | 用于日志相关的输出 | 点击跳转 |
os | 用于路径与文件相关的处理 | 点击跳转 |
regexp | 用于正则的处理 | 点击跳转 |
runtime | 用于操作系统相关信息获取 如系统类型 |
点击跳转 |
sort | 排序相关 | 点击跳转 |
strconv | 字符串与数字,bool等转换 | 点击跳转 |
strings | 用于字符串相关处理 | 点击跳转 |
sync | 并发处理模块 | 点击跳转 |
time | 时间处理模块 | 点击跳转 |
unsafe | 用于指针相关处理 | 点击跳转 |
url | 用于 url 相关处理 | 点击跳转 |
xml | 用于 xml 数据处理 | 点击跳转 |
bufio
GOLANG
1 | // 用于读取文件 |
bytes
GOLANG
1 | // 1. 创建一个缓冲区,然后给里边写数据 |
context
GOLANG
1 | // Go语言中的 Context 模块可以用于在不同 goroutine 之间传递上下文信息,用于管理 goroutine 的生命周期。 |
errors
GOLANG
1 | // 创建和一个新错误 |
exec
GOLANG
1 | // 执行命令行命令 |
filepath
GOLANG
1 | // 获取路径扩展名 |
fmt
GOLANG
1 | // 打印字符串 |
html
GOLANG
1 | // 将HTML实体<转换为<这样的符号 |
http
GOLANG
1 | //================================ |
io
GOLANG
1 | // 将后边的reader读到前边的writer |
json
GOLANG
1 | // 1 从文件解析json |
log
GOLANG
1 | // 进行日志操作 |
os
GOLANG
1 | // 操作系统模块 |
regexp
GOLANG
1 | // 正则的编译 |
runtime
GOLANG
1 | // 获取操作系统类型,如windows,darwin,"linux", "freebsd", "openbsd", "netbsd"等 |
sort
GOLANG
1 | // 升序排序 |
strconv
GOLANG
1 | // 以十进制格式化uin这个数字到字符串 |
strings
GOLANG
1 | // 字符串相关处理 |
sync
GOLANG
1 | // 使用sync模块可以用于并发处理 |
time
GOLANG
1 | // 获取分钟的时间表示 |
unsafe
GOLANG
1 | // 1. 用于转换指针类型 |
url
GOLANG
1 | // 解析url字符串到URL结构,方便操作URL的各个部分 |
xml
GOLANG
1 | // 1. 将结构体解析为xml字节数组 |
相关总结
一些函数
bytes.Buffer
和io.Reader
bytes.Buffer
就是内存的字节数组,io.Reader
读取的也是字节数组
struct
和map
的区别
结构体定义了键与类型,map可以放任意的键
reader
和writer
的理解(暂时)
reader读取流(字节流,字符流),将流转成需要的格式;writer写出流(字节流,字符流),将数据转成流写出
函数回调
GOLANG
1 | // 在结构体中加入一个函数类型的字段,则当用户创建了这个对象之后,需要对某个功能进行自定义处理 |
- 本文标题:go语言环境及基本常识3
- 创建时间:2024-01-04 16:58:26
- 本文链接:https://blog.212490197.xyz/article/program/golang/go-basic-knowledge-study-2/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
评论