青训营笔记

51 阅读2分钟

“%V”也是主动打印格式,但是对于字符串,不行,没有像“%t”那么的方便 fmt.Scanf“%d,&x”跟C语言一样的输入法。 fmt.Scan"&x"比c语言更加简单,方便。 最后在输出就好了

类型转换 1int转string import ( "fmt" "strconv" )

func main() { num := 16 str := strconv.Itoa(num) fmt.Printf("类型:%T,值:%s", str, str) // 类型:string,值:16 }

2string转int import ( "fmt" "strconv" )

func main() { str := "666" num, err := strconv.Atoi(str) if err != nil { fmt.Println("err: ", err.Error()) return } fmt.Printf("类型:%T,值:%d", num, num) // 类型:int,值:666 } 3数字转string import ( "strconv" )

func main() { var num int64 = 2 str := strconv.FormatInt(num, 2) var num2 int64 = 17 str2 := strconv.FormatInt(num2, 16) println(str) // 10 println(str2) // 11 } 4给定基数(进制数)和位数,返回对应十进制的值 import ( "fmt" "strconv" )

func main() { parseInt, err := strconv.ParseInt("100", 2, 64) if err != nil { fmt.Println(err.Error()) return } println(parseInt) // 4

parseInt2, err := strconv.ParseInt("666", 2, 64)
if err != nil {
	fmt.Println(err.Error()) // strconv.ParseInt: parsing "666": invalid syntax
	return
}
println(parseInt2)
复制代码

} 5在string转float import ( "fmt" "strconv" )

func main() { num, err := strconv.ParseFloat("11.05", 64) if err != nil { return } fmt.Println(num) } 6float转string import ( "fmt" "strconv" )

func main() { str := strconv.FormatFloat(5.26, 'f', 1, 64) fmt.Println(str) // 5.3 } 7string转bool import ( "fmt" "strconv" )

func main() { bool1, err := strconv.ParseBool("true") if err != nil { fmt.Println(err.Error()) return } fmt.Println(bool1) // true

bool2, err := strconv.ParseBool("golang")
if err != nil {
	fmt.Println(err.Error()) // strconv.ParseBool: parsing "golang": invalid syntax
	return
}
fmt.Println(bool2)
复制代码

} 8bool转string import ( "fmt" "strconv" )

func main() { boolStr := strconv.FormatBool(true) fmt.Println(boolStr) // "true" } 注意,不兼容型的不能相互的转换,例如int,bool。 转换:var ch byte ch='a' var t int t=int (ch) 然后输出t. 今天是我的第三篇笔记了,青训营也接近尾声了,我感觉特别的快。 后面的每篇笔记我都会写一点当时的感悟下来,以纪念我现在的心情, 希望以后的自己看到了会有一种怀念的感觉,也希望不要愧对于自己的青春。 我现在感觉这个东西,对于go语言我就是当做一个课外的小爱好来学习的。 希望以后他带给我的感官让我改变这个看法