go语言中的strings常用函数和格式化输出

package main;

import (
        "fmt"
        "strings"
)

type person struct {
        name string;
        age int;
}

func main() {
        //判断是否包含某个子字符串
        fmt.Println(strings.Contains("hello", "he"));
        //统计子符串的次数
        fmt.Println(strings.Count("hello hello", "ll"));
        //判断前缀字符串
        fmt.Println(strings.HasPrefix("hello", "he"));
        //判断后缀字符串
        fmt.Println(strings.HasSuffix("hello", "lo"));
        //找查子符串第一次出现的位置,不存在返回-1
        fmt.Println(strings.Index("hello", "el"));
        //拼接字符串
        fmt.Println(strings.Join([]string{"a","b","c"}, ","));
        //重复字符串
        fmt.Println(strings.Repeat("hello", 3));
        //替换前n个字符串
        fmt.Println(strings.Replace("hello", "l", "x", 1));
        //替换所有字符串
        fmt.Println(strings.Replace("hello", "l", "x", -1));
        //分割字符串,返回slice
        fmt.Println(strings.Split("a,b,c", ","));
        //转为小写
        fmt.Println(strings.ToLower("HELLO"));
        //转为大写
        fmt.Println(strings.ToUpper("hello"));
        //获取字符串长度
        fmt.Println(len("hello"));

        //格式化输出
        var a = person{name:"test",age:22};
        //打印出结构体
        fmt.Printf("%v\n", a);
        //打印出结构体成员名称和值
        fmt.Printf("%+v\n", a);
        //格式化输出Go语法表示方式
        fmt.Printf("%#v\n", a);
        //输出类型
        fmt.Printf("%T\n", a);
        //格式化布尔型变量
        fmt.Printf("%t\n", true);
        //输出整型
        fmt.Printf("%d\n", 123);
        //输出二进制
        fmt.Printf("%b\n", 10);
        //输出对应字符
        fmt.Printf("%c\n", 65);
        //输出十六进制表示
        fmt.Printf("%x\n", 256);
        //输出浮点数
        fmt.Printf("%f\n", 12.45);
        //科学计数法
        fmt.Printf("%e\n", 1230000000.0);
        fmt.Printf("%E\n", 1230000000.0);
        //输出字符串
        fmt.Printf("%s\n", "hello");
        //输出指针的值
        fmt.Printf("%p\n", &a);
        //控制输出宽度,并用0补齐,输出默认右对齐的
        fmt.Printf("%020d\n", 345);
}