Home  >  Article  >  Backend Development  >  Code sample sharing in the golang function community

Code sample sharing in the golang function community

王林
王林Original
2024-04-28 12:51:01425browse

1. The Golang function community provides code examples, including basic functions and practical cases. 2. Basic function: Compare string acquisition time 3. Practical case: Read and process CSV files to send emails

Code sample sharing in the golang function community

Code sample sharing in the Golang function community

Introduction

The Golang function community is an active ecosystem that provides a variety of code samples to help developers solve common problems and create efficient applications . This article will share some useful code examples, including practical examples, to show these codes in action.

Basic functions

  • Compare strings:

    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)")
      }
    }
  • Acquisition time:

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

Practical case

Reading and processing CSV files

The following code example demonstrates how to read and process a CSV file using the encoding/csv package:

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)
    }
}

Send an email

The following code Example showing how to send an email using the net/smtp package:

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()
}

The above is the detailed content of Code sample sharing in the golang function community. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn