Go教程

Go-ACM模式刷题常用函数和注意事项

本文主要是介绍Go-ACM模式刷题常用函数和注意事项,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Go-ACM模式刷题常用函数和注意事项

由于个人能力有限,部分描述若不正确,感谢指出!暂时记录这些,期待更新!

一、终端输入相关函数和注意事项

var a,b,x int
fmt.Scan(&a,&b) // 一个或多个数据绑定。用空格分割stdin输入数据,并把换行符算作空格,然后传递给本函数的参数
fmt.Scanln(&a,&b) // 类似Scan,遇到换行停止扫描,必须在最后一项之后有换行符或EOF
fmt.Scanf("%d",&x) // 对空格分割的字符串或其他数据类型格式化,会把换行符也当作输入的!由于数据是先缓存,然后再传递给参数,所以如果格式中没有换行符,但输入回车换行,会保存到下一个参数中!

还有一些细节,比如输入类型和指定类型不符合时, 值为类型的默认值!多编程多动手体会自己写的bug!

个人体会,少用fmt.Scanf(),不会分析,很容易跳到坑里,比如为啥输入参数绑定不对!很可能是回车换行符导致的!

二、字符串的处理

// strconv包,字符串和其他类型的相互转换
strconv.Itoa(int)  // int -> string
strconv.Atoi(str)  // string -> int

strconv.ParseInt(str, , ) // str->int 可以指定进制、类型.还有float\bool等
strconv.FormatInt(int, , ) // int->str。还有其他float等函数
// strings包,字符串的查找
strings.IndexByte(str, byte) // 查找字符串中字符的第一个位置。LastIndexByte是最后一个
strings.Index(str,str2)  // 查找子串str2的第一个位置

// 字符串分割
strings.Splie(str, str2) // 将str按str2作为分隔符进行分割,返回字符串切片

// 大小写切换
strings.ToLower(str) // string全部转为小写
strings.ToUppe(str)  // str全部转为大写

// 字符串删除
strings.Trim(str, str2) // 将str中首位包含的str2全部删除

// 强制类型转换
x := []rune(str)  // 字符串转rune切片
str := string(x)  // rune切片转为字符串

三、排序

// 升序
sort.Ints([]int) // 对int类型的切片升序排序
sort.Float64s([]float64)
sort.Strings([]int)

sort.Reverse() // 进行反转
这篇关于Go-ACM模式刷题常用函数和注意事项的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!