golang一些常用库(1)

2024-02-04 16:26:03 浏览数 (1)

Go语言拥有丰富的标准库,以及一些流行的第三方库。以下是一些常用库和用法的示例代码:

1. fmt - 格式化输入输出

代码语言:javascript复制
goCopy codepackage main

import "fmt"

func main() {
    name := "Gopher"
    age := 3
    fmt.Printf("Hello, %s! You are %d years old.n", name, age)
}

2. net/http - HTTP服务器

代码语言:javascript复制
goCopy codepackage main

import (
	"fmt"
	"net/http"
)

func handler(w http.ResponseWriter, r *http.Request) {
	fmt.Fprintf(w, "Hello, Gopher!")
}

func main() {
	http.HandleFunc("/", handler)
	http.ListenAndServe(":8080", nil)
}

3. os - 操作系统功能

代码语言:javascript复制
goCopy codepackage main

import (
	"fmt"
	"os"
)

func main() {
	args := os.Args
	fmt.Println("Command-line arguments:", args)
	
	hostname, err := os.Hostname()
	if err == nil {
		fmt.Println("Hostname:", hostname)
	}
}

4. time - 处理时间

代码语言:javascript复制
goCopy codepackage main

import (
	"fmt"
	"time"
)

func main() {
	now := time.Now()
	fmt.Println("Current time:", now.Format("2006-01-02 15:04:05"))

	oneHourLater := now.Add(time.Hour)
	fmt.Println("One hour later:", oneHourLater.Format("15:04:05"))
}

5. encoding/json - JSON编解码

代码语言:javascript复制
goCopy codepackage main

import (
	"encoding/json"
	"fmt"
)

type Person struct {
	Name string `json:"name"`
	Age  int    `json:"age"`
}

func main() {
	p := Person{"Alice", 25}
	jsonData, err := json.Marshal(p)
	if err == nil {
		fmt.Println("JSON data:", string(jsonData))
	}

	// 反序列化
	var newPerson Person
	err = json.Unmarshal(jsonData, &newPerson)
	if err == nil {
		fmt.Println("Decoded person:", newPerson)
	}
}

6. crypto/md5 - MD5哈希

代码语言:javascript复制
goCopy codepackage main

import (
	"crypto/md5"
	"encoding/hex"
	"fmt"
)

func main() {
	data := []byte("Hello, Golang!")
	hash := md5.Sum(data)
	md5String := hex.EncodeToString(hash[:])
	fmt.Println("MD5 hash:", md5String)
}

7. strconv - 字符串转换

代码语言:javascript复制
goCopy codepackage main

import (
	"fmt"
	"strconv"
)

func main() {
	str := "42"
	num, err := strconv.Atoi(str)
	if err == nil {
		fmt.Println("Converted number:", num)
	}

	// 整数转字符串
	newStr := strconv.Itoa(123)
	fmt.Println("Converted string:", newStr)
}

以上示例代码展示了一些常用的Go标准库和用法,涵盖了格式化输入输出、HTTP服务器、操作系统功能、时间处理、JSON编解码、哈希等方面。你可以通过实际应用中的需求来选择适合你的库和方法。

go

0 人点赞