您现在的位置是:主页 > news > 王野天津广播/seo外链论坛

王野天津广播/seo外链论坛

admin2025/6/26 0:32:25news

简介王野天津广播,seo外链论坛,福永网站开发,京东网站设计风格golang 语言 中字符串的转移字符,操作符 ,和标准库的 常用函数 转义字符 \\反斜线\ooo3个8位数给定的八进制代码的Unicode字符\ 单引号,只用于字符字面量内 \"双引号,只用于可解析的字符串字面内\aASCII码的响铃符\b ASCII…

王野天津广播,seo外链论坛,福永网站开发,京东网站设计风格golang 语言 中字符串的转移字符,操作符 ,和标准库的 常用函数 转义字符 \\反斜线\ooo3个8位数给定的八进制代码的Unicode字符\ 单引号,只用于字符字面量内 \"双引号,只用于可解析的字符串字面内\aASCII码的响铃符\b ASCII…

golang 语言 中字符串的转移字符,操作符 ,和标准库的 常用函数

转义字符

\\反斜线
\ooo3个8位数给定的八进制代码的Unicode字符
\'

单引号,只用于字符字面量内

\"双引号,只用于可解析的字符串字面内
\aASCII码的响铃符
\b

ASCII码的退格符

\fASCII码的换页符
\nASCII的换行符
\r回车符
\t制表符
\uhhhh4个16位数字给定的十六进制码点的Unicode字符
\Uhhhhhhhh8个32位数字给定的十六进制码点的Unicode字符
\vASCII码点垂直制表符
\xhh2个8位数字给定的十六进制码点的Unicode字符

 

字符串操作符

s+=t将字符串t追加到字符串s末尾
s+t将字符串s和t级联
s[n]字符串s中索引位置为n(uint8类型)处的原始字节
s[n:m]从位置n到位置m-1处取得得字符串
s[n:]从位置n到末尾处取得得字符串
s[:m]从索引位置0到位置m-1处取得的字符串
len(s)字符串s中的字节数
len([]rune(s))字符串s中字符的个数--可以使用更快地utf8.RuneCountInString()来代替
[]rune(s)将字符串s转换成一个 Unicode码点
string(chars)将一个[]rune或者[int32]转换成字符串,这里假设rune和int32切片都是Unicode码点
[]byte(s)无副本的将字符串s转换成一个原始字节的切片数组,不保证转换的字节是合法的utf-8 编码字节
string(bytes)无副本的将[]byte或者[]uint8转换成一个字符串类型,不保证转换的字节是合法 utf-8编码字节
string(i)将任意数字类型的i转换成字符串
strconv.Itoa(i)int类型i的字符串表示和一个错误值。例如i的值是65,那么该返回值为("65",nil).
fmt.Sprint(x)任意类型x的字符串表示,例如 如果x是一个值为65 的数字类型,那么其返回值为”65“

fmt包格式化字符串 输出

fmt包中的打印函数

fmt.Errorf(format,args...)返回一个包含所有给定格式化字符串以及args参数的错误值
fmt.Fpring(writer,args...)

按照格式 %v 和空格分隔的非字符串将 args写入Writer中,返回写入的字节数和一个值为error或者 nil 的错误值

fmt.Fprintf(writer,format,args...)按照字符串格式format将args参数写入writer,返回写入的字节数和一个值为error或者nil的错误值
fmt.Fprintln(writer, args...)按照格式%v以空格分隔符以换行符结尾将参数args写入writer,返回写入的字节数和一个值为error或者nil的错误值
fmt.Print(args...)使用格式%v以空格分隔的非字符串将args写入os.Stdout,返回写入的字符数和一个值为error或者nil的错误值
fmt.Printf(format,args..)使用格式化字符串format将args写入os.studout,返回写入的字节数和一个error或者nil的错入职
fmt.Println(args...)使用格式%v以空格分隔以换行符结尾将args写入osStudout返回写入字节数和 error 或者nil
fmt.Sprintf(format,args...)返回使用格式format格式化args字符串
fmt.SPringln(args...)返回使用格式%v格式化args后的字符串,以空格分隔以换行符结尾
  

 

frm包中的各式指令

%%一个%字面量
%b一个二进制整数基数为2
%c一个unicode字符的码点值
%d一个是静止数值基数为10
%e以科学计数法e表示的浮点数或者复数值
%E

以科学计数法E表示的浮点数或者复数值

%f以标准计数法表示的浮点数
%g以%e或者%f表示的浮点数或者复数,任何一个都以最为经凑的方式输出
%G以%E或者%f表示的浮点数或者复数,任何一个都以最为紧凑的方式输出
%o一个以八进制表示的数字(基数为8)
%p以十六进制表示的一个值得地址,前缀为0x,字母使用小写的a~f表示
%q使用go语法以及必要时使用转义,以双引号括起来的字符串后者字节切片[]byte,或者时以单引号括起来的数字
%s以原生的utf-8字节表示的字符串或者[]byte切片,对于一个给定的文本文件或者在一个能够显示utf-8编码的控制台,他会产生正确的unicode输出
%v使用默认格式输出的内置或者自定义类型的值,或者时使用器类型的String()方法输出的自定义值,如果该方法存在的话
%t以true或者false输出的布尔值
%T使用go语法输出的值得类型
%U一个用Unicode表示法表示的整形码点,默认值为4个数字字符 例如fmt.Printf(“%U”,'')
  

 

格式指令修饰符

空白如果输出的数字为负数,则在其前面加上一个减号“-”,如果输出的是正数,则在其前面加上一个空格。使用%x或者%X格式指令输出时,会在结果之间添加一个空格。例如,fmt.Printf("%X",“ ”) 输出 E2 86 92
#

让各式指令以0打头的八进制数据:

%#o 输出以0打头的八进制数据

%#p输出一个不含0x打头的指针

%#q尽可能以原始字符串形式输出一个字符串或者[]byte切片,斗则输出双引号引起来的字符串

%#v使用go语法将值自身输出

%#x输出 以0x打头的十六进制数据

%#X输出以0X打头的十六进制数据

 

+

让格式指令在数值前面输出+号或者-号,为字符串输出ASCII字符别的字符会被转义。为结构体输出其字段名字

-让格式指令将值进行向左对其
0让各式指令以数字0而非空白进行填充
n.m对于数字,这个修饰符会使用n(int值)个字符输出浮点数或者复数,并在小数点后面输出m个数字。
  
  

 

strings包

// 转换func ToUpper(s string) string
func ToLower(s string) string
func ToTitle(s string) stringfunc ToUpperSpecial(_case unicode.SpecialCase, s string) string
func ToLowerSpecial(_case unicode.SpecialCase, s string) string
func ToTitleSpecial(_case unicode.SpecialCase, s string) stringfunc Title(s string) string------------------------------// 比较func Compare(a, b string) intfunc EqualFold(s, t string) bool------------------------------// 清理func Trim(s string, cutset string) string
func TrimLeft(s string, cutset string) string
func TrimRight(s string, cutset string) stringfunc TrimFunc(s string, f func(rune) bool) string
func TrimLeftFunc(s string, f func(rune) bool) string
func TrimRightFunc(s string, f func(rune) bool) stringfunc TrimSpace(s string) stringfunc TrimPrefix(s, prefix string) string
func TrimSuffix(s, suffix string) string------------------------------// 拆合func Split(s, sep string) []string
func SplitN(s, sep string, n int) []stringfunc SplitAfter(s, sep string) []string
func SplitAfterN(s, sep string, n int) []stringfunc Fields(s string) []string
func FieldsFunc(s string, f func(rune) bool) []stringfunc Join(a []string, sep string) stringfunc Repeat(s string, count int) string------------------------------// 子串func HasPrefix(s, prefix string) bool
func HasSuffix(s, suffix string) boolfunc Contains(s, substr string) bool
func ContainsRune(s string, r rune) bool
func ContainsAny(s, chars string) boolfunc Index(s, sep string) int
func IndexByte(s string, c byte) int
func IndexRune(s string, r rune) int
func IndexAny(s, chars string) int
func IndexFunc(s string, f func(rune) bool) intfunc LastIndex(s, sep string) int
func LastIndexByte(s string, c byte) int
func LastIndexAny(s, chars string) int
func LastIndexFunc(s string, f func(rune) bool) intfunc Count(s, sep string) int------------------------------// 替换func Replace(s, old, new string, n int) stringfunc Map(mapping func(rune) rune, s string) string------------------------------------------------------------type Reader struct { ... }func NewReader(s string) *Readerfunc (r *Reader) Read(b []byte) (n int, err error)
func (r *Reader) ReadAt(b []byte, off int64) (n int, err error)
func (r *Reader) WriteTo(w io.Writer) (n int64, err error)
func (r *Reader) Seek(offset int64, whence int) (int64, error)func (r *Reader) ReadByte() (byte, error)
func (r *Reader) UnreadByte() errorfunc (r *Reader) ReadRune() (ch rune, size int, err error)
func (r *Reader) UnreadRune() errorfunc (r *Reader) Len() int
func (r *Reader) Size() int64
func (r *Reader) Reset(s string)------------------------------------------------------------type Replacer struct { ... }// 创建一个替换规则,参数为“查找内容”和“替换内容”的交替形式。
// 替换操作会依次将第 1 个字符串替换为第 2 个字符串,将第 3 个字符串
// 替换为第 4 个字符串,以此类推。
// 替换规则可以同时被多个例程使用。
func NewReplacer(oldnew ...string) *Replacer// 使用替换规则对 s 进行替换并返回结果。
func (r *Replacer) Replace(s string) string// 使用替换规则对 s 进行替换并将结果写入 w。
// 返回写入的字节数和遇到的错误。
func (r *Replacer) WriteString(w io.Writer, s string) (n int, err error)

strconv包

编程过程中,我们常常需要用到字符串与其它类型的转换,strconv包可以帮我们实现此功能。

  1. string->int
  • 使用方法:func Atoi(s string) (i int, err error)

测试代码

numStr := "999"
num, err := strconv.Atoi(numStr)
if err != nil {fmt.Println("can't convert to int")
} else {fmt.Printf("type:%T value:%#v\n", num, num)
}

2. int -> string

  • 使用方法:func Itoa(i int) string
  • 测试代码:
num := 200
numStr := strconv.Itoa(num)
fmt.Printf("type:%T value:%#v\n", numStr, numStr)

3. string->bool

  • 使用方法:func ParseBool(str string) (bool, error)
    当str为:1,t,T,TRUE,true,True中的一种时为真值
    当str为:0,f,F,FALSE,false,False中的一种时为假值
  • 测试代码 
fmt.Println(strconv.ParseBool("t"))
fmt.Println(strconv.ParseBool("TRUE"))
fmt.Println(strconv.ParseBool("true"))
fmt.Println(strconv.ParseBool("True"))
fmt.Println(strconv.ParseBool("0"))
fmt.Println(strconv.ParseBool("f"))

4.string->float

  • 使用方法:func ParseFloat(s string, bitSize int) (f float64, err error)
    bitSize:32或64 对应系统的位数
  • 测试代码
strF := "250.56"
str, err := strconv.ParseFloat(strF, 64)
if err != nil {fmt.Println(err)
}
fmt.Printf("type:%T value:%#v\n", str, str)

输出:type:float64 value:250.56

5. float -> string

  • 使用方法:func FormatFloat(f float64, fmt byte, prec, bitSize int) string
    bitSize表示f的来源类型(32:float32、64:float64),会据此进行舍入。

fmt表示格式:’f’(-ddd.dddd)、’b’(-ddddp±ddd,指数为二进制)、’e’(-d.dddde±dd,十进制指数)、’E’(-d.ddddE±dd,十进制指数)、’g’(指数很大时用’e’格式,否则’f’格式)、’G’(指数很大时用’E’格式,否则’f’格式)。

prec控制精度(排除指数部分):对’f’、’e’、’E’,它表示小数点后的数字个数;对’g’、’G’,它控制总的数字个数。如果prec 为-1,则代表使用最少数量的、但又必需的数字来表示f。

  • 测试代码:
num := 250.56
str := strconv.FormatFloat(num, 'f', 4,64)
fmt.Printf("type:%T value:%#v\n", str, str)

输出:type:string value:"250.5600"

当然,以上类型转string的话,可以直接用fmt.Sprintf实现。
举个例子:

num := 250.56
str := fmt.Sprintf("%.2f", num)
fmt.Printf("type:%T value:%#v\n", str, str)

输出:type:string value:"250.56"