Go path包

path包 path包仅适用于处理由正斜杠/分隔的路径,例如URL。 不能处理带有盘符或反斜杠\的Windows路径。 包函数 方法 含义 说明 Base 返回路径的最后一个元素 会先移除路径末尾的斜杠,空路径返回.,纯斜杠返回/ Clean 返回与输入路径等效的最短路径名 Dir 返回路径的目录部分 Ext 返回路径中以.分隔的文件扩展名 无.则返回空字符串 IsAbs 判断路径是否为绝对路径 只有以/开头的才是绝对路径 Join 将路径元素连接成路径 Match 判断路径是否匹配模式 Split 将路径拆分为目录和文件 filepath包 处理方式与目标操作系统定义的文件路径相兼容。 包函数 方法 含义 说明 Abs 返回绝对路径 Base 返回路径的最后一个元素 会先移除路径末尾的斜杠,空路径返回.,纯斜杠返回/ Clean 返回与输入路径等效的最短路径名 Dir 返回路径的目录部分 EvalSymlinks 返回路径中的符号链接所指向的真实路径 Ext 返回路径中以.分隔的文件扩展名 无.则返回空字符串 FromSlash 将路径中/的斜杠替换为特定操作系统的分隔符字符 linux中的\不会被替换 ToSlash 将路径中特定操作系统的分隔符字符替换为/ linux中的\不会被替换 Glob 返回与模式匹配的所有路径 IsAbs 判断路径是否为绝对路径 只有以/开头的才是绝对路径 IsLocal 判断路径是否为本地路径,即是否在当前路径下 仅词法分析,不考虑文件系统 Join 将路径元素连接成路径 Localize 将一个以/分隔的路径转换为一个操作系统路径 Match 判断路径是否匹配模式 Rel 返回从basepath到targpath的相对路径 Split 将路径拆分为目录和文件 SplitList 将一个包含多个以特定操作系统路径分隔符(如:或;)分隔的路径字符串拆分成单个的路径元素 分隔符取决于当前操作系统 VolumeName 返回路径的卷名 适用于Windows平台 Walk 遍历路径下的所有目录和文件并对其调用fn WalkDir 遍历路径下的所有目录和文件并对其调用fn 比Walk更优更高效

2024-11-03 22:12:48 · 1 分钟 · 慢步道人

Go sync包

Mutex 无需显式初始化,直接声明变量即可使用。 互斥锁,同一时刻只能有一个协程持有锁,不分读写。 方法 含义 说明 Lock 加锁 Unlock 解锁 未加锁时调用会导致panic TryLock 尝试加锁 立即返回,成功返回true,失败返回false RWMutex 无需显式初始化,直接声明变量即可使用。 读写锁,同一时刻可以有多个协程持有读锁,但是只能有一个协程持有写锁。 有写锁时,其他协程无法获取读锁和写锁。 有读锁时,其他协程可以获取读锁,但是无法获取写锁。 方法 含义 说明 RLock 加读锁 RUnlock 解读锁 未加读锁时调用会导致panic TryRLock 尝试加读锁 立即返回,成功返回true,失败返回false Lock 加写锁 Unlock 解写锁 未加写锁时调用会导致panic TryLock 尝试加写锁 立即返回,成功返回true,失败返回false Map 无需显式初始化,直接声明变量即可使用。 方法 含义 说明 Store 存储键值对 Load 加载键对应的值 Delete 删除键对应的值 Clear 清除所有键值对 Swap 交换指定键对应的旧值和新值,并返回旧值和操作之前键是否存在 LoadAndDelete 加载键对应的值并删除键值对 LoadOrStore 加载键对应的值,如果键不存在则存储键值对 CompareAndDelete 比较键对应的值是否等于指定值,如果相等则删除键值对 CompareAndSwap 比较键对应的值是否等于指定值,如果相等则替换键对应的值 Range 遍历键值对 传入函数返回false时停止遍历 WaitGroup 无需显式初始化,直接声明变量即可使用。 方法 含义 说明 Add 添加计数器 启动协程前调用,传入协程数量 Done 减少计数器 协程执行完毕后调用 Wait 等待计数器变为0 主协程调用,等待所有协程执行完毕 Once 无需显式初始化,直接声明变量即可使用。 方法 含义 说明 Do 执行函数 传入函数,只会执行一次 Pool 需显式初始化,为New指定创建对象的函数。...

2024-10-30 22:45:48 · 1 分钟 · 慢步道人

Go flag包

简介 flag用于实现命令行标志的解析。 一般流程 定义命令行标志 解析命令行标志 获取解析标志外的命令行参数 使用解析后的标志和参数 支持的标志格式 -flag:短标志 --flag:长标志 -flag=value:短标志和值 -flag value:短标志和值,仅限非布尔标志 解析规则 标志解析会在遇到第一个非标志参数(-被视为非标志参数)或者终止符--之后停止。 1 0 t f T F true false TRUE FALSE True False均可被解析为布尔值。 标志解析的返回值均为对应类型的指针。 包函数 方法 含义 说明 NewFlagSet 创建一个新的标志集 通常用于创建子命令的标志集 Lookup 查找标志集中的标志 Set 设置标志集中的标志的值 NArg 返回实际传入的命令行参数的数量 调用Parse之后生效,不包含命令行标志 Arg 返回第i个命令行参数 从0开始 NFlag 返回实际传入的命令行标志的数量 调用Parse之后生效 Parsed 返回标志是否已被解析 Parse 解析命令行标志 Bool 定义一个布尔型标志 BoolVar 定义一个布尔型标志并绑定到指定变量 Int 定义一个整数标志 IntVar 定义一个整数标志并绑定到指定变量 Int64 定义一个64位整数标志 Int64Var 定义一个64位整数标志并绑定到指定变量 Uint 定义一个无符号整数标志 UintVar 定义一个无符号整数标志并绑定到指定变量 Uint64 定义一个64位无符号整数标志 Uint64Var 定义一个64位无符号整数标志并绑定到指定变量 Float64 定义一个64位浮点数标志 Float64Var 定义一个64位浮点数标志并绑定到指定变量 Duration 定义一个时间间隔标志 DurationVar 定义一个时间间隔标志并绑定到指定变量 String 定义一个字符串标志 StringVar 定义一个字符串标志并绑定到指定变量 Var 定义一个自定义类型标志并绑定到对应变量 自定义类型需要实现flag....

2024-10-27 11:03:21 · 1 分钟 · 慢步道人

Go log包

Logger 方法 含义 说明 Fatal Fatalf Fatalln 记录一条严重错误后执行os.Exit(1) Panic Panicf Panicln 记录一条严重错误后引发panic Print Printf Println 记录一条普通信息 Flags 返回当前Logger的输出标志 SetFlags 设置当前Logger的输出标志 Prefix 返回当前Logger的前缀 SetPrefix 设置当前Logger的前缀 Writer 返回当前Logger的输出目标 SetOutput 设置当前Logger的输出目标 Output 直接输出日志 更接近底层,可指定调用等级 包函数 方法 含义 说明 Default 返回默认的Logger New 创建一个新的Logger Fatal Fatalf Fatalln 记录一条严重错误后执行os.Exit(1) 使用默认的Logger Panic Panicf Panicln 记录一条严重错误后引发panic 使用默认的Logger Print Printf Println 记录一条普通信息 使用默认的Logger Flags 返回默认Logger的输出标志 SetFlags 设置默认Logger的输出标志 Prefix 返回默认Logger的前缀 SetPrefix 设置默认Logger的前缀 Writer 返回默认Logger的输出目标 SetOutput 设置默认Logger的输出目标 Output 使用默认的Logger直接输出日志

2024-10-26 19:43:48 · 1 分钟 · 慢步道人

Go bufio包

Reader 方法 含义 说明 Buffered 返回从当前缓冲区内可以读取的字节数量 Discard 跳过接下来的n字节 Peek 查看接下来的n字节 不移动读指针 Read 从bufio.Reader中读取内容到字节切片 ReadByte 从bufio.Reader中读取一个字节 ReadBytes 从bufio.Reader中读取数据,直到遇到指定的分隔符delim 包含分隔符 ReadLine 从bufio.Reader中读取一行数据 不包含换行符,建议使用Reader.ReadBytes('\n')、Reader.ReadString('\n')或者Scanner ReadRune 从bufio.Reader中读取一个rune ReadSlice 从bufio.Reader中读取数据,直到遇到指定的分隔符delim 包含分隔符,建议使用Reader.ReadBytes或ReadString ReadString 从bufio.Reader中读取数据,直到遇到指定的分隔符delim 包含分隔符 Reset 重置bufio.Reader Size 返回底层缓冲区的大小 UnreadByte 回退最后读取的一个字节 UnreadRune 回退最后读取的一个rune WriteTo 将数据从bufio.Reader写入到io.Writer Writer 方法 含义 说明 Available 返回当前缓冲区中可以写入的字节数量 AvailableBuffer 返回一个空的缓冲区,容量是Available返回的值 Buffered 返回当前缓冲区中已经写入的字节数量 Flush 将缓冲区中的数据写入到io.Writer ReadFrom 从io.Reader读取数据到bufio.Writer Reset 重置bufio.Writer Size 返回底层缓冲区的大小 Write 将数据写入bufio.Writer WriteByte 将一个字节写入bufio.Writer WriteRune 将一个rune写入bufio.Writer WriteString 将一个字符串写入bufio.Writer Scanner 方法 含义 说明 Buffer 设置在扫描时要使用的初始缓冲区,及在扫描过程中可能分配的最大缓冲区大小 Bytes 返回由最近一次调用Scanner....

2024-10-25 21:23:15 · 1 分钟 · 慢步道人

Go io/fs包

包函数 方法 含义 说明 FileInfoToDirEntry 将fs.FileInfo转换为fs.DirEntry FormatDirEntry 将fs.DirEntry格式化为字符串 FormatFileInfo 将fs.FileInfo格式化为字符串 Glob 获取指定模式的文件列表 ReadDir 读取指定目录中的内容,返回DirEntry切片 ReadFile 读取指定文件的内容,返回字节切片 Stat 获取文件信息,返回FileInfo Sub 获取指定目录的子目录 ValidPath 验证路径是否合法 WalkDir 遍历目录

2024-10-24 22:02:04 · 1 分钟 · 慢步道人

Go io包

OffsetWriter OffsetWriter是io.Writer的一个实现,它可以将写入的数据偏移指定的字节数后写入到另一个io.Writer中。 方法 含义 说明 Write 将数据写入io.Writer WriteAt 将数据写入io.Writer,从指定位置开始 Seek 设置指针位置 SectionReader SectionReader是io.Reader的一个实现,它可以从另一个io.Reader中读取指定范围的数据。 方法 含义 说明 Outer 获取底层的ReaderAt、偏移量和长度 Read 从io.Reader读取内容到字节切片 读取后指针位置会移动 ReadAt 从io.Reader读取内容到字节切片,从指定位置开始 读取后指针位置不会移动 Seek 设置指针位置 Size 返回区间的大小 PipeReader PipeReader是io.Reader的一个实现,它可以从另一个io.Reader中读取数据。 方法 含义 说明 Read 从管道读取内容到字节切片 Close 关闭PipeReader CloseWithError 关闭PipeReader并返回错误 PipeWriter PipeWriter是io.Writer的一个实现,它可以将数据写入到另一个io.Reader中。 方法 含义 说明 Write 将数据写入io.Writer Close 关闭PipeWriter CloseWithError 关闭PipeWriter并返回错误 包函数 方法 含义 说明 Copy 将数据从io.Reader复制到io.Writer CopyBuffer 将数据从io.Reader复制到io.Writer,使用指定的缓冲区 CopyN 将数据从io.Reader复制到io.Writer,最多复制n个字节 LimitReader 从io.Reader创建一个限制的读取范围的io.Reader MultiReader 将多个io.Reader组合成一个io.Reader 先后读取,类似内容拼接 MultiWriter 将多个io.Writer组合成一个io.Writer 同时写入 NewOffsetWriter 从io.Writer创建一个带有偏移量的io.Writer NewSectionReader 从io....

2024-10-24 20:05:22 · 1 分钟 · 慢步道人

Go os包

File 方法 含义 说明 Close 关闭文件 Chdir 改变当前工作目录 *File必须为目录 Chmod 修改文件权限 Chown 修改文件所有者和组 Fd 返回文件描述符 Name 返回文件名 Read 从文件读取内容到字节切片 读取后指针位置会移动 ReadAt 从文件读取内容到字节切片,从指定位置开始 读取后指针位置不会移动 ReadDir 获取目录下的列表,返回DirEntry切片 *File必须为目录 Readdir 获取目录下的列表,返回FileInfo切片 *File必须为目录 Readdirnames 获取指定目录下的文件名 *File必须为目录 ReadFrom 从io.Reader读取内容到文件 读取后指针位置会移动,本质上是写文件 Seek 设置指针位置 SetDeadline 设置文件I/O超时时间 只有部分文件类型支持 SetReadDeadline 设置文件读取超时时间 只有部分文件类型支持 SetWriteDeadline 设置文件写入超时时间 只有部分文件类型支持 Stat 获取文件信息,返回FileInfo Sync 将文件内容同步到磁盘 SyscallConn 获取与文件操作相关的系统调用连接 Truncate 截断文件 Write 将字节切片中的数据写入文件 写入后指针位置会移动 WriteAt 将字节切片中的数据写入文件,从指定位置开始 写入后指针位置不会移动 WriteString 将字符串写入文件 写入后指针位置会移动 WriteTo 将数据写入io.Writer 写入后指针位置会移动,本质上是读文件 FileInfo 方法 含义 说明 IsDir 返回文件是否是目录 ModTime 返回文件的修改时间 Name 返回文件名 Size 返回文件的大小 Sys 返回文件的系统信息 FileMode 方法 含义 说明 IsDir 返回文件是否是目录 IsRegular 返回文件是否是普通文件 Perm 返回文件的权限 String 返回文件的字符串表示形式 Type 返回文件的类型 Process 方法 含义 说明 Kill 杀掉进程 Release 释放与Process对象相关的资源 Signal 向进程发送信号 Wait 等待进程退出 ProcessState 用于获取已结束进程状态信息。...

2024-10-23 23:49:39 · 2 分钟 · 慢步道人

Go time包

Time 方法 说明 Add 在该时间上加个时间得到新时间 AddDate 在该时间上加个日期得到新时间 After 判断该时间是否在另一个时间之后 AppendFormat 将该时间格式化为字符串并追加到字节切片中 Before 判断该时间是否在另一个时间之前 Clock 返回当前时间的时、分、秒 Compare 和另一个时间比较大小,返回-1、0、1 Date 返回该时间的年、月、日 Day 返回该时间的日 Equal 判断该时间是否和另一个时间相等 Format 将该时间格式化为字符串 GoString 返回该时间的字符串表示形式 GobDecode 从字节切片中解码该时间 GobEncode 将该时间编码为字节切片 Hour 返回该时间的小时 ISOWeek 返回该时间所在的ISO周 In 返回该时间在指定时区对应的时间 IsDST 判断该时间是否在夏令时 IsZero 判断一个时间值是否为零值 Local 返回该时间在本地时区对应的时间 Location 返回该时间所在的时区 MarshalBinary 将该时间序列化为二进制格式 MarshalJSON 将该时间序列化为JSON格式 MarshalText 将该时间序列化为文本格式 Minute 返回该时间的分钟 Month 返回该时间的月份 Nanosecond 返回该时间的纳秒 Round 将该时间舍入到指定的时间单位 Second 返回该时间的秒 String 返回该时间的字符串表示形式 Sub 在该时间上减去另一个时间得到新时间 Time 返回该时间的时间戳 Truncate 将该时间截断到指定的时间单位 UTC 返回该时间在UTC时区对应的时间 Unix 返回该时间的Unix时间戳,单位:秒 UnixMicro 返回该时间的Unix时间戳,单位:微秒 UnixMilli 返回该时间的Unix时间戳,单位:毫秒 UnixNano 返回该时间的Unix时间戳,单位:纳秒 UnmarshalBinary 从二进制格式反序列化该时间 UnmarshalJSON 从JSON格式反序列化该时间 UnmarshalText 从文本格式反序列化该时间 Weekday 返回该时间所在的星期几 Year 返回该时间的年份 YearDay 返回该时间所在的年中的第几天 Zone 返回该时间所在的时区名称和偏移量(单位:秒) ZoneBounds 返回该时间所在的时区的夏令时开始和结束时间 包函数 函数名 含义 说明 Now 返回当前时间 Date 构造指定的时间 FixedZone 构造一个指定偏移时的时区 LoadLocation 加载时区信息 LoadLocationFromTZData 从TZData文件加载时区信息 Parse 解析时间字符串 ParseDuration 解析时间间隔字符串 ParseInLocation 在指定时区解析时间字符串 Since 计算指定时间与现在的间隔 等同于time....

2024-10-22 22:23:20 · 1 分钟 · 慢步道人

Go strings包

Builder 方法 说明 String 返回最终构造的字符串 Len 返回缓冲区(字节切片)的长度 Cap 返回缓冲区(字节切片)的容量 Reset 重置Builder Grow 显式扩容 Write 向Builder追加字节切片 WriteByte 向Builder追加字节 WriteRune 向Builder追加Unicode码点 WriteString 向Builder追加字符串 包函数 函数名 含义 说明 Clone 返回字符串的副本 Compare 比较两个字符串的大小,返回-1、0、1 Contains 判断一个字符串是否包含另一个字符串 类似于pascal的Pos()>0 ContainsAny 判断一个字符串是否包含另一个字符串中的任意一个字符 ContainsRune 判断一个字符串是否包含一个Unicode码点 ContainsFunc 判断一个字符串是否包含满足特定条件的字符 Count 统计一个字符串中某个子字符串出现的次数 Cut 将一个字符串按照指定的分隔符进行切割 只进行一次切割 CutPrefix 判断一个字符串是否以指定的前缀开始,是则进行切割 CutSuffix 判断一个字符串是否以指定的后缀结束,是则进行切割 EqualFold 判断两个字符串是否相等,忽略大小写 类似于pascal的SameText() Fields 用连续的空白字符对字符串进行分割 FieldsFunc 用指定的函数对字符串进行分割 HasPrefix 判断一个字符串是否以指定的前缀开始 HasSuffix 判断一个字符串是否以指定的后缀结束 Index 返回一个字符串中某个子字符串第一次出现的位置(从0开始,未找到返回-1) 类似于pascal的Pos() IndexAny 返回一个字符串中任意一个字符第一次出现的位置(从0开始,未找到返回-1) IndexByte 返回一个字符串中某个字节第一次出现的位置(从0开始,未找到返回-1) IndexRune 返回一个字符串中某个Unicode码点第一次出现的位置(从0开始,未找到返回-1) IndexFunc 返回一个字符串中满足特定条件的字符第一次出现的位置(从0开始,未找到返回-1) LastIndex 返回一个字符串中某个子字符串最后一次出现的位置(从0开始,未找到返回-1) LastIndexAny 返回一个字符串中任意一个字符最后一次出现的位置(从0开始,未找到返回-1) LastIndexByte 返回一个字符串中某个字节最后一次出现的位置(从0开始,未找到返回-1) LastIndexFunc 返回一个字符串中满足特定条件的字符最后一次出现的位置(从0开始,未找到返回-1) Join 将一个字符串切片用指定的字符串连接成一个新字符串 Map 将一个字符串中的每个字符都映射成另一个字符 Repeat 将一个字符串重复指定的次数 Replace 将一个字符串中的某个子字符串替换成另一个字符串 ReplaceAll 将一个字符串中的所有子字符串替换成另一个字符串 Split 用指定的字符对字符串进行分割 SplitN 用指定的字符对字符串进行分割,最多分割n次 SplitAfter 用指定的字符对字符串进行分割,保留分隔符 SplitAfterN 用指定的字符对字符串进行分割,保留分隔符,最多分割n次 ToLower 将一个字符串中的所有字符都转换成小写 ToUpper 将一个字符串中的所有字符都转换成大写 ToTitle 将其中所有的Unicode字母转换为它们对应的Unicode标题大小写 ToLowerSpecial 将字符串中的字符按照特定规则转换为小写形式 ToUpperSpecial 将字符串中的字符按照特定规则转换为大写形式 ToTitleSpecial 将字符串中的字符按照特定规则转换为标题形式 ToValidUTF8 将一个字符串中的无效UTF-8字符替换成Unicode替换字符 Trim 去除字符串两端的指定字符 连续的指定字符都会被去除 TrimLeft 去除字符串左边的指定字符 连续的指定字符都会被去除 TrimRight 去除字符串右边的指定字符 连续的指定字符都会被去除 TrimFunc 去除字符串两端满足特定条件的字符 连续的满足条件的字符都会被去除 TrimLeftFunc 去除字符串左边满足特定条件的字符 连续的满足条件的字符都会被去除 TrimRightFunc 去除字符串右边满足特定条件的字符 连续的满足条件的字符都会被去除 TrimSpace 去除字符串两端的空白字符 连续的空白都会被去除 TrimPrefix 去除字符串前缀 TrimSuffix 去除字符串后缀

2024-10-20 13:36:24 · 1 分钟 · 慢步道人