golang数据类型值之字符串
1、go中字符串只能用双引号或反引号(``)号包裹,双引号里的转义字符可以被正确识别,反引号则不能。因此可用反引号输出代码。
2、字符串一旦赋值后就不能修改内容,例如 str:="abc" 要被修改改成 “bbc” ,这样操作str[0] = "b"是错误的
3、 字符串的拼接用“+”,但是如果有换行加号必须位于上一行的行尾才可以
4、基本类型之间的互相转换必须是显式的,即只能通过类型转换函数(byte()、int64()等)来转换
5、基本类型转字符串,有两种方式,一是用fmt包里的Sprintf()函数转换,另一种是用strconv包里的对应函数例如 FormatInt()、FormatFloat()、FormatBool()等,具体使用见如下代码
package main import ( "fmt" "strconv" ) func main() { //基本类型转字符串类型 var a int64 = -100 var b float32 = 20.555 var boolen bool = true var c byte = ‘h‘ var str string str = fmt.Sprintf("%d", a) fmt.Printf("str type is %T str=%q\n", str, str) str = fmt.Sprintf("%.2f", b) fmt.Printf("str type is %T str=%q\n", str, str) str = fmt.Sprintf("%t", boolen) fmt.Printf("str type is %T str=%q\n", str, str) str = fmt.Sprintf("%c", c) fmt.Printf("str type is %T str=%q\n", str, str) //strconv包 str = strconv.FormatInt(a, 10) fmt.Printf("str type is %T str=%q\n", str, str) str = strconv.FormatFloat(float64(b), ‘f‘, 5, 64) fmt.Printf("str type is %T str=%q\n", str, str) str = strconv.FormatBool(boolen) fmt.Printf("str type is %T str=%q", str, str) str = strconv.FormatUint(uint64(c), 10) fmt.Printf("str type is %T str=%q\n", str, str) //ItoA函数将一个int类型数字转换位字符串 str = strconv.Itoa(int(a)) fmt.Printf("str type is %T str=%q", str, str) }