Cách chuyển đổi chuỗi thành Boolean, Integer hoặc Float trong Golang
Hướng dẫn cách chuyển đổi chuỗi (string) thành các kiểu dữ liệu Boolean, Integer hoặc Float trong Golang. Bài viết này sẽ giúp bạn hiểu cách sử dụng các hàm chuyển đổi tích hợp trong Go để thao tác với các loại dữ liệu khác nhau.
Trong Go, chúng ta có thể sử dụng các hàm như strconv.ParseBool
, strconv.Atoi
, và strconv.ParseFloat
để chuyển đổi chuỗi thành các kiểu dữ liệu khác nhau như Boolean, Integer và Float. Đây là những cách phổ biến và hiệu quả để xử lý dữ liệu đầu vào dạng chuỗi.
Mã Golang:
package main
import (
"fmt"
"strconv"
)
func main() {
// Chuỗi cần chuyển đổi
strBool := "true"
strInt := "123"
strFloat := "123.45"
// Chuyển đổi thành Boolean
boolValue, err := strconv.ParseBool(strBool)
if err != nil {
fmt.Println("Error parsing boolean:", err)
} else {
fmt.Println("Boolean value:", boolValue)
}
// Chuyển đổi thành Integer
intValue, err := strconv.Atoi(strInt)
if err != nil {
fmt.Println("Error parsing integer:", err)
} else {
fmt.Println("Integer value:", intValue)
}
// Chuyển đổi thành Float
floatValue, err := strconv.ParseFloat(strFloat, 64)
if err != nil {
fmt.Println("Error parsing float:", err)
} else {
fmt.Println("Float value:", floatValue)
}
}
Giải thích chi tiết từng dòng code:
-
import "strconv"
: Nhập góistrconv
để sử dụng các hàm chuyển đổi chuỗi thành các kiểu dữ liệu khác. -
strBool := "true"
,strInt := "123"
,strFloat := "123.45"
: Tạo các chuỗi chứa giá trị dạng Boolean, Integer và Float. -
strconv.ParseBool(strBool)
: Chuyển đổi chuỗi thành giá trị Boolean. -
strconv.Atoi(strInt)
: Chuyển đổi chuỗi thành giá trị Integer. -
strconv.ParseFloat(strFloat, 64)
: Chuyển đổi chuỗi thành giá trị Float với độ chính xác 64-bit. - Kiểm tra lỗi với
err != nil
: Nếu có lỗi trong quá trình chuyển đổi, sẽ in ra thông báo lỗi.
Lời khuyên:
- Khi xử lý dữ liệu từ chuỗi, luôn kiểm tra lỗi sau mỗi lần chuyển đổi để đảm bảo dữ liệu đầu vào hợp lệ.
- Sử dụng độ chính xác thích hợp cho số thực (
float32
hoặcfloat64
) để tiết kiệm tài nguyên.