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