像大多数现代语言一样,Golang包含字符串作为内置类型。让我们举个例子,你可能有一个包含布尔值“true”的字符串。但是,由于此值表示为字符串,因此无法对其执行任何操作。需要将此字符串类型显式转换为布尔类型,然后才能对其执行任何操作。

字符串到布尔值的转换

导入包strconv以执行与字符串之间的转换。ParseBool返回由字符串表示的布尔值。它接受1, t, T, TRUE, true, True, 0, f, F, FALSE, false, False。任何其他值都会返回错误。

package main

import (
	"fmt"
	"strconv"
)

func main() {
	s1 := "true"
	b1, _ := strconv.ParseBool(s1)
	fmt.Printf("%T, %v\n", b1, b1)

	s2 := "t"
	b2, _ := strconv.ParseBool(s2)
	fmt.Printf("%T, %v\n", b2, b2)

	s3 := "0"
	b3, _ := strconv.ParseBool(s3)
	fmt.Printf("%T, %v\n", b3, b3)

	s4 := "F"
	b4, _ := strconv.ParseBool(s4)
	fmt.Printf("%T, %v\n", b4, b4)
}

输出

bool, true
bool, true
bool, false
bool, false