GO-使用标准库

1. fmt

fmt 包用于格式化输入和输出,提供了便捷的函数来打印数据和格式化字符串。

常用函数

  • fmt.Printfmt.Println:直接输出到控制台。
  • fmt.Printf:支持格式化输出。
  • fmt.Sprintf:格式化并返回字符串。

示例

1
2
3
4
5
name := "Alice"
age := 30
fmt.Printf("Name: %s, Age: %d\n", name, age)
str := fmt.Sprintf("Hello, %s!", name)
fmt.Println(str)

2. math

math 包提供了数学运算的基础函数,包括基本的数学计算、三角函数、对数函数等。

常用函数

  • 基本运算:math.Absmath.Maxmath.Min
  • 指数运算:math.Powmath.Sqrt
  • 三角函数:math.Sinmath.Cosmath.Tan

示例

1
2
3
a, b := 3.0, 4.0
hypotenuse := math.Sqrt(math.Pow(a, 2) + math.Pow(b, 2))
fmt.Printf("Hypotenuse: %.2f\n", hypotenuse)

3. time

time 包用于处理时间和日期,是处理时间戳、格式化时间和计算时间差的必备工具。

常用函数

  • 获取当前时间:time.Now
  • 时间格式化:t.Format("2006-01-02 15:04:05")
  • 时间解析:time.Parse
  • 时间计算:time.Addtime.Sub

示例

1
2
3
4
now := time.Now()
fmt.Println("Current Time:", now.Format("2006-01-02 15:04:05"))
future := now.Add(24 * time.Hour)
fmt.Println("Tomorrow:", future)

4. strings

strings 包提供了对字符串的常用操作,如拼接、分割、替换等。

常用函数

  • strings.ToUpperstrings.ToLower:大小写转换。
  • strings.Contains:判断子字符串是否存在。
  • strings.Splitstrings.Join:分割和拼接字符串。

示例

1
2
3
4
5
text := "hello, world"
uppercase := strings.ToUpper(text)
words := strings.Split(text, ", ")
fmt.Println("Uppercase:", uppercase)
fmt.Println("Words:", words)

5. ioioutil

ioioutil 包用于文件和流操作,提供了文件读写的常用工具。

常用函数

  • 文件读取:ioutil.ReadFile
  • 文件写入:ioutil.WriteFile
  • 文件复制:io.Copy

示例

1
2
3
4
5
data, err := ioutil.ReadFile("example.txt")
if err != nil {
log.Fatal(err)
}
fmt.Println("File content:", string(data))

6. net/http

net/http 包提供了构建 HTTP 客户端和服务器的基础工具,是 Go 语言中开发网络应用的核心库。

常用函数

  • 服务器端:http.ListenAndServehttp.HandleFunc
  • 客户端请求:http.Gethttp.Post

示例

1
2
3
4
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello, World!")
})
log.Fatal(http.ListenAndServe(":8080", nil))