ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2022-09-16 21:30:08  阅读:269  来源: 互联网

标签:int str2 strconv ACM 字符串 str Go strings 刷题


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() // 进行反转

标签:int,str2,strconv,ACM,字符串,str,Go,strings,刷题
来源: https://www.cnblogs.com/Lusai/p/16701243.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有