Maison  >  Article  >  développement back-end  >  Partage d'exemples de code dans la communauté des fonctions Golang

Partage d'exemples de code dans la communauté des fonctions Golang

王林
王林original
2024-04-28 12:51:01378parcourir

1. La communauté des fonctions Golang fournit des exemples de code, y compris des fonctions de base et des cas pratiques. 2. Fonction de base : comparer le temps d'acquisition de chaînes 3. Cas pratique : lire et traiter des fichiers CSV pour envoyer des emails

Partage dexemples de code dans la communauté des fonctions Golang

Partage d'échantillons de code dans la communauté des fonctions Golang

Introduction

La communauté des fonctions Golang est une écosystème actif d'exemples de code pour aider les développeurs à résoudre des problèmes courants et à créer des applications efficaces. Cet article partagera quelques exemples de codes utiles, y compris des exemples pratiques, pour montrer ces codes en action.

Fonction de base

  • Comparer les chaînes :

    package main
    
    import (
      "fmt"
      "strings"
    )
    
    func main() {
      s1 := "hello"
      s2 := "HELLO"
    
      if s1 == s2 {
          fmt.Println("Strings are equal")
      } else {
          fmt.Println("Strings are not equal")
      }
    
      if strings.EqualFold(s1, s2) {
          fmt.Println("Strings are equal (case-insensitive)")
      }
    }
  • Obtenir l'heure :

    package main
    
    import (
      "fmt"
      "time"
    )
    
    func main() {
      now := time.Now()
    
      fmt.Println("Current time:", now)
      fmt.Println("Current timestamp:", now.Unix())
    }

Cas pratique

Lecture et traitement du fichier CSV

L'exemple de code suivant démontre comment lire et traiter des fichiers CSV à l'aide du package encoding/csv : encoding/csv 包读取和处理 CSV 文件:

package main

import (
    "encoding/csv"
    "fmt"
    "os"
)

func main() {
    f, err := os.Open("data.csv")
    if err != nil {
        fmt.Println(err)
        return
    }
    defer f.Close()

    r := csv.NewReader(f)
    r.Comma = ';' // Set different comma if needed

    for {
        record, err := r.Read()
        if err == io.EOF {
            break
        }
        if err != nil {
            fmt.Println(err)
            continue
        }

        fmt.Println(record)
    }
}

发送电子邮件

以下代码示例演示如何使用 net/smtp

package main

import (
    "fmt"
    "log"
    "net/smtp"
)

func main() {
    // Set up SMTP server and authentication
    host := "smtp.example.com"
    port := 587
    user := "username"
    password := "password"

    // Create message
    from := "from@example.com"
    to := []string{"to@example.com"}
    subject := "Test Email"
    body := "This is a test email."

    msg := "From: " + from + "\n" +
        "To: " + strings.Join(to, ",") + "\n" +
        "Subject: " + subject + "\n" +
        "\n" + body

    // Connect to SMTP server
    addr := fmt.Sprintf("%s:%d", host, port)
    auth := smtp.PlainAuth("", user, password, host)
    c, err := smtp.Dial(addr)
    if err != nil {
        log.Fatal(err)
    }

    // Send email
    if err := c.StartTLS(nil); err != nil {
        log.Fatal(err)
    }
    if err := c.Auth(auth); err != nil {
        log.Fatal(err)
    }
    if err := c.Mail(from); err != nil {
        log.Fatal(err)
    }

    for _, addr := range to {
        if err := c.Rcpt(addr); err != nil {
            log.Fatal(err)
        }
    }

    w, err := c.Data()
    if err != nil {
        log.Fatal(err)
    }
    if _, err := w.Write([]byte(msg)); err != nil {
        log.Fatal(err)
    }
    w.Close()

    // Quit the SMTP server
    c.Quit()
}

🎜Envoyer un e-mail 🎜🎜🎜L'exemple de code suivant montre comment utiliser net/smtp package pour envoyer un email Email: 🎜rrreee

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!

Déclaration:
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