返回
Go开发过程中的一些小技巧汇总,从新手到高手必经之路
后端
2023-09-19 10:13:09
一、时间类型转换
- 将string类型时间字符串转换为time.Time类型时间
t, err := time.Parse("2006-01-02 15:04:05", "2022-09-25 17:26:45")
if err != nil {
log.Fatal(err)
}
fmt.Println(t)
- 将int64类型的时间戳转换为time.Time类型时间
t := time.Unix(1664102405, 0)
fmt.Println(t)
- 将time.Time类型时间转换为string类型时间字符串
t := time.Now()
strTime := t.Format("2006-01-02 15:04:05")
fmt.Println(strTime)
二、String类型转换
- 将string类型转换为int类型
i, err := strconv.Atoi("123")
if err != nil {
log.Fatal(err)
}
fmt.Println(i)
- 将string类型转换为float64类型
f, err := strconv.ParseFloat("123.45", 64)
if err != nil {
log.Fatal(err)
}
fmt.Println(f)
- 将string类型转换为bool类型
b, err := strconv.ParseBool("true")
if err != nil {
log.Fatal(err)
}
fmt.Println(b)
三、数据增删查改
- 插入数据
result, err := db.Exec("INSERT INTO users (name, age) VALUES (?, ?)", "John", 25)
if err != nil {
log.Fatal(err)
}
id, err := result.LastInsertId()
if err != nil {
log.Fatal(err)
}
fmt.Println(id)
- 查询数据
rows, err := db.Query("SELECT * FROM users")
if err != nil {
log.Fatal(err)
}
for rows.Next() {
var id int
var name string
var age int
if err := rows.Scan(&id, &name, &age); err != nil {
log.Fatal(err)
}
fmt.Println(id, name, age)
}
- 更新数据
result, err := db.Exec("UPDATE users SET age = ? WHERE id = ?", 26, 1)
if err != nil {
log.Fatal(err)
}
rowsAffected, err := result.RowsAffected()
if err != nil {
log.Fatal(err)
}
fmt.Println(rowsAffected)
- 删除数据
result, err := db.Exec("DELETE FROM users WHERE id = ?", 1)
if err != nil {
log.Fatal(err)
}
rowsAffected, err := result.RowsAffected()
if err != nil {
log.Fatal(err)
}
fmt.Println(rowsAffected)
四、循环
- for循环
for i := 0; i < 10; i++ {
fmt.Println(i)
}
- while循环
i := 0
for i < 10 {
fmt.Println(i)
i++
}
- do while循环
i := 0
for {
fmt.Println(i)
i++
if i == 10 {
break
}
}
- range循环
arr := []int{1, 2, 3, 4, 5}
for index, value := range arr {
fmt.Println(index, value)
}
- goto循环
i := 0
loop:
for {
fmt.Println(i)
i++
if i == 10 {
goto end
}
}
end:
五、总结
以上是一些Go开发中常用的技巧,掌握这些技巧可以帮助你提高开发效率。希望大家能够熟练掌握这些技巧,并将其应用到自己的开发项目中。