Golang标准库详解
Golang是一种强类型、高并发、内存安全的编程语言,由于其多线程编程特性和对并行计算的支持,越来越受到编程爱好者的追捧。而Golang强大的标准库更是程序员们喜欢的重要因素之一。本文将详细介绍Golang标准库中的一些核心包。
1. fmt包
fmt包是Go语言中用于格式化输入输出的核心包之一,可以将基本数据类型、字符串、复合数据结构等格式化输出到控制台或其他输出设备上。常用的fmt函数有Printf、Print、Println等。例如:
```
package main
import "fmt"
func main() {
name := "Jack"
age := 20
height := 1.75
fmt.Printf("My name is %s, I'm %d years old, and I'm %.2f meters tall.\n", name, age, height)
}
```
输出结果为:
```
My name is Jack, I'm 20 years old, and I'm 1.75 meters tall.
```
2. strings包
strings包是Go语言中处理字符串的核心包,提供了一系列字符串操作函数,例如字符串分割、字符串替换、字符串匹配、字符串判断等等。常用的函数有Contains、Split、Replace、ToLower、ToUpper等。例如:
```
package main
import (
"fmt"
"strings"
)
func main() {
str := "hello,world"
arr := strings.Split(str, ",")
fmt.Println(arr)
}
```
输出结果为:
```
[hello world]
```
3. strconv包
strconv包是Go语言中处理基本数据类型与字符串之间的转换的核心包,提供了一系列的转换函数,例如字符串转整数、整数转字符串、字符串转浮点数等等。常用的函数有Atoi、Itoa、ParseBool、ParseFloat等。例如:
```
package main
import (
"fmt"
"strconv"
)
func main() {
numStr := "100"
num, err := strconv.Atoi(numStr)
if err != nil {
fmt.Println("convert failed!")
} else {
fmt.Println(num)
}
}
```
输出结果为:
```
100
```
4. time包
time包是Go语言中操作日期和时间的核心包,提供了一系列的时间操作函数和类型,例如获取当前时间、时间格式化、时间比较、时间加减、时间差计算等等。常用的函数有Now、Format、Parse、Add、Subtract等。例如:
```
package main
import (
"fmt"
"time"
)
func main() {
now := time.Now()
fmt.Println(now.Format("2006-01-02 15:04:05"))
}
```
输出结果为:
```
2021-08-03 13:56:37
```
5. os包
os包是Go语言中操作系统的核心包,提供了一系列的系统操作函数和类型,例如获取当前进程信息、创建子进程、文件操作、目录操作等等。常用的函数有Getenv、Create、Open、Mkdir等。例如:
```
package main
import (
"fmt"
"os"
)
func main() {
env := os.Getenv("GOPATH")
fmt.Println("GOPATH: ", env)
file, err := os.Open("test.txt")
if err != nil {
fmt.Println("open failed!")
} else {
fmt.Println("open success!")
file.Close()
}
}
```
输出结果为:
```
GOPATH: /Users/admin/go
open success!
```
以上是Golang标准库中的一些核心包,它们提供了丰富的函数和类型,可以满足我们日常开发中的各种需求。学好Golang标准库,将会让你的开发变得更加高效。