1. golang 函数社区提供代码示例,包括基础函数和实战案例。2. 基础函数:比较字符串获取时间3. 实战案例:读取和处理 csv 文件发送电子邮件
Golang 函数社区中的代码示例分享
简介
Golang 函数社区是一个活跃的生态系统,提供各种代码示例,帮助开发人员解决常见问题并创建高效的应用程序。本文将分享一些有用的代码示例,包括实战案例,以展示这些代码的实际应用。
基础函数
-
比较字符串:
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)") } }
获取时间:
package main import ( "fmt" "time" ) func main() { now := time.Now() fmt.Println("Current time:", now) fmt.Println("Current timestamp:", now.Unix()) }
实战案例
读取和处理 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()
}