Golang 开发实战day04 - Standard Library

Golang 开发实战day04 - Standard Library

接下来开始我们第四天学习,Go语言标准库提供了丰富的功能,可以帮助开发者快速完成各种任务。

golang就像其他语言一样,附带了一些非常轻量级的函数和特性,都是开箱即用的,这里附上官网地址:

🤙🤙🤙https://pkg.go.dev/std#stdlib

1. 标准库涵盖了以下领域:

  • 基础设施:包含对操作系统、文件系统、网络、时间等基础功能的支持。
  • 数据结构:提供常用的数据结构,如数组、链表、映射等。
  • 编码:提供对JSON、XML、Protobuf等编码格式的支持。
  • 加密:提供对AES、RSA等加密算法的支持。
  • 测试:提供对单元测试、性能测试等测试功能的支持。
  • 并发:提供对并发编程的支持,如goroutine、channel等。
  • 反射:提供对程序运行时信息的访问和操作。

示例1. strings.Contains()

go 复制代码
	greeting := "你好,哆啦A梦!"
	fmt.Println(strings.Contains(greeting, "你好"))

output:

true

✅Strings.contains的源码如下

go 复制代码
func Contains(s, substr string) bool

✅参数说明:

s: 要检查的字符串。

substr: 要查找的子字符串。

✅返回值:

bool: 如果s包含substr,则返回true;否则返回false。

示例2. strings.ReplaceAll()

go 复制代码
fmt.Println(strings.ReplaceAll(greeting, "你好", "你好厉害"))

output:

你好厉害, 哆啦A梦!

✅Strings.contains的源码如下

go 复制代码
func ReplaceAll(s, old, new string, n int) string

✅参数说明:

s: 要替换的字符串。

old: 要查找的子字符串。

new: 替换后的字符串。

n: 替换的最大次数。如果n < 0,则替换所有匹配的子字符串。

✅返回值:

string: 替换后的字符串。

示例3. strings.index()

go 复制代码
greeting := "hello, my dear friends!"
fmt.Println(strings.Index(greeting, "ll"))

output:

2

示例4. strings.split()

go 复制代码
greeting := "hello, my dear friends!"
fmt.Println(strings.Split(greeting, " "))

output:

hello, my dear friends!

接下来展示一些数组类内容
示例5. sort.Ints()

go 复制代码
ages := [ ] int{42, 24, 56, 122, 434, 22, 12, 45}
sort.Ints(ages)
fmt.Println(ages)

output:

12 22 24 42 45 56 122 434

示例6. sort.SearchInts()

go 复制代码
index := sort.SearchInts(ages, 45)
fmt.Println(index)

output:

4

**示例7. **

go 复制代码
names := []string{"小叮当", "大雄", "静香", "小夫", "胖虎"}
sort.Strings(names)
fmt.Println(names)

fmt.Println(sort.SearchStrings(names, "大雄"))

output:

大雄 小叮当 小夫 胖虎 静香

0

感谢观看,下一期内容golang 循环

相关推荐
达达尼昂20 分钟前
编码智能体中的模型选择与执行深度
人工智能·后端·程序员
用户67570498850222 分钟前
写了 6 年 Go ,我终于领悟到了泛型的真正威力!
后端·go
名字还没想好☜39 分钟前
Go error 处理:errors.Is/As 与错误包装
开发语言·后端·golang·go·错误处理
红糖奶茶39 分钟前
Python 中 while 循环计数异常的常见原因分析与正确搓搓
开发语言·python
Lucky_Turtle1 小时前
【论文写作】PDF图片不清晰,打印生成PDF空白大,PDF字体嵌入
开发语言·pdf·c#
csdndenglu1 小时前
Easy3D:一个轻量级、易用、高效的C++库,用于处理和渲染3D数据,无复杂要求时可替代VTK
开发语言·c++·图形渲染·3d渲染
doiito1 小时前
【安全,架构】RustyVault 项目深度分析报告以及和HashiCorp Vault的差异
后端·安全·rust
尚早立志1 小时前
Spring Boot 之 BeanDefinitionLoader 详解
java·spring boot·后端
byte轻骑兵1 小时前
【AVRCP】规范精讲[41]:AV/C指令帧解析,蓝牙遥控交互的底层语言
c语言·开发语言·人机交互·智能制造·avrcp
发光小北1 小时前
Bronze100系列plc Modbus及自由口通信案例
开发语言·php