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);
}