Maison > développement back-end > Golang > Analyser les fonctions courantes dans la bibliothèque standard Golang

Analyser les fonctions courantes dans la bibliothèque standard Golang

王林
Libérer: 2024-01-20 08:24:06
original
1331 Les gens l'ont consulté

Analyser les fonctions courantes dans la bibliothèque standard Golang

Analyse des fonctions communes dans la bibliothèque standard de Golang

En tant que langage de programmation puissant et efficace, Golang fournit de nombreuses fonctions communes dans sa bibliothèque standard. Cet article analysera en détail plusieurs fonctions courantes et fournira des exemples de code spécifiques.

1. Opérations sur les fichiers

  1. Création et écriture de fichiers

Le package os de Golang fournit la fonction de création et d'écriture de fichiers. Tout d’abord, nous devons créer un fichier à l’aide de la fonction Create, puis écrire le contenu dans le fichier à l’aide de la fonction WriteString ou Write.

Exemple de code :

package main

import (
    "fmt"
    "os"
)

func main() {
    file, err := os.Create("example.txt")
    if err != nil {
        fmt.Println("文件创建失败:", err)
        return
    }
    defer file.Close()

    content := "Hello, Golang!"
    _, err = file.WriteString(content)
    if err != nil {
        fmt.Println("写入文件失败:", err)
        return
    }

    fmt.Println("文件写入成功!")
}
Copier après la connexion
  1. Lecture et écriture de fichiers

En utilisant les fonctions Ouvrir et Lire du package os, nous pouvons ouvrir un fichier et lire son contenu. Dans le même temps, nous pouvons également utiliser la fonction Write pour écrire du contenu dans le fichier.

Exemple de code :

package main

import (
    "fmt"
    "io"
    "os"
)

func main() {
    file, err := os.Open("example.txt")
    if err != nil {
        fmt.Println("文件打开失败:", err)
        return
    }
    defer file.Close()

    buf := make([]byte, 1024)
    for {
        n, err := file.Read(buf)
        if err != nil && err != io.EOF {
            fmt.Println("读取文件失败:", err)
            return
        }
        if n == 0 {
            break
        }
        fmt.Println(string(buf[:n]))
    }

    file, err = os.OpenFile("example.txt", os.O_WRONLY|os.O_APPEND, 0666)
    if err != nil {
        fmt.Println("文件打开失败:", err)
        return
    }
    defer file.Close()

    content := "
Welcome to Golang!"
    _, err = file.Write([]byte(content))
    if err != nil {
        fmt.Println("写入文件失败:", err)
        return
    }

    fmt.Println("文件读取和写入成功!")
}
Copier après la connexion

2. Opérations réseau

  1. Client HTTP

Le package net/http de Golang fournit la fonction de création et d'envoi de requêtes HTTP. Nous pouvons utiliser la fonction Get pour obtenir le contenu d'une page Web et la fonction ReadAll pour lire le corps de la réponse.

Exemple de code :

package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
)

func main() {
    resp, err := http.Get("https://example.com")
    if err != nil {
        fmt.Println("HTTP请求失败:", err)
        return
    }
    defer resp.Body.Close()

    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        fmt.Println("读取响应失败:", err)
        return
    }

    fmt.Println(string(body))
}
Copier après la connexion
  1. Serveur TCP

Le package net de Golang fournit la fonction permettant de créer un serveur TCP. Nous pouvons utiliser les fonctions Écouter et Accepter pour écouter et accepter les connexions client, puis envoyer et recevoir des données via les fonctions Lire et Écrire.

Exemple de code :

package main

import (
    "fmt"
    "net"
)

func handleConn(conn net.Conn) {
    defer conn.Close()

    buf := make([]byte, 1024)
    for {
        n, err := conn.Read(buf)
        if err != nil {
            fmt.Println("读取数据失败:", err)
            return
        }
        if n == 0 {
            break
        }
        fmt.Println(string(buf[:n]))
    }

    conn.Write([]byte("Hello, client!"))
}

func main() {
    listener, err := net.Listen("tcp", "localhost:8080")
    if err != nil {
        fmt.Println("监听失败:", err)
        return
    }
    defer listener.Close()

    fmt.Println("服务器已启动,等待客户端连接...")
    for {
        conn, err := listener.Accept()
        if err != nil {
            fmt.Println("接受连接失败:", err)
            break
        }
        go handleConn(conn)
    }
}
Copier après la connexion

Ce qui précède sont des exemples d'analyse et de code de plusieurs fonctions courantes de la bibliothèque standard Golang. Grâce à ces exemples, nous pouvons mieux comprendre et utiliser la bibliothèque standard de Golang et améliorer l'efficacité du développement. Dans le développement réel, nous pouvons appliquer et étendre davantage ces fonctions en fonction de besoins spécifiques pour répondre à différents besoins.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal