下面总结了go中常用的转换
- string到int
int,err:=strconv.Atoi(string)
- string到int64
int64, err := strconv.ParseInt(string, 10, 64)
- int到string
string:=strconv.Itoa(int)
- int64到string
string:=strconv.FormatInt(int64,10)
- string转float
s := "3.1415926535"
v1, err := strconv.ParseFloat(v, 32)
v2, err := strconv.ParseFloat(v, 64)
- float转string
v := 3.1415926535
s1 := strconv.FormatFloat(v, 'E', -1, 32) //float32
s2 := strconv.FormatFloat(v, 'E', -1, 64) //float64
- float截取小数点的位数
func Decimal(value float64) float64 {
value, _ = strconv.ParseFloat(fmt.Sprintf("%.2f", value), 64)
return value
}
- 判断map中的值是否存在
if _, ok := map[key]; ok {
//存在
}
- go中字符串的截取
res := strings.Split("heng,wowo", ",")
- go中数组转成字符串
proString := strings.Replace(strings.Trim(fmt.Sprint(ress), "[]"), " ", ",", -1)
- go中截取最后一位的字符串
pString = strings.Trim(pString, ",")
- go中计算字符串的长度
len([]rune(teacherInfoMap.Name))
- printf的使用 demo地址
type point struct {
a, b int
}
p := point{1, 2}
- 输出结构体里面的内容
fmt.Printf("%v\n", p) // {1 2}
- 输出结构体的内容,包括字段名
fmt.Printf("%+v\n", p) // {x:1 y:2}
- 输出这个值的语法表示。例如,值的运行源代码片段。
fmt.Printf("%#v\n", p) // main.point{x:1, y:2}
- 输出打印值的类型
fmt.Printf("%T\n", p) // main.point
- 输出布尔值
fmt.Printf("%t\n", true) // true
- 输出整数
fmt.Printf("%d\n", 123) // 123
- 输出二进制表示形式
fmt.Printf("%b\n", 14) // 1110
- 输出给定整数的对应字符
fmt.Printf("%c\n", 33) // !
- 输出十六进制编码
fmt.Printf("%x\n", 456) // 1c8
- 输出浮点型的十进制
fmt.Printf("%f\n", 78.9) // 78.900000
- 输出浮点型的科学技术法表示
fmt.Printf("%e\n", 123400000.0) // 1.234000e+08
fmt.Printf("%E\n", 123400000.0) // 1.234000E+08
- 输出字符串
fmt.Printf("%s\n", "\"string\"") // "string"
- 输出字符串带反斜杠
fmt.Printf("%q\n", "\"string\"") // "\"string\""
- 输出使用 base-16 编码的字符串,每个字节使用 2 个字符表示
fmt.Printf("%x\n", "hex this") // 6865782074686973
- 输出一个指针的值
fmt.Printf("%p\n", &p) // 0xc4200160c0