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

  

posted on 2017-05-09 14:52  怀素真  阅读(2488)  评论(0编辑  收藏  举报