go程序设计语言练习题
来自 go程序设计语言 一书
源博客地址go程序设计语言练习题
练习题3.10 编写一个非递归的comma函数,运用bytes.Buffer,而不是简单的字符串拼接
package mainimport ("bytes""fmt"
)func main() {fmt.Println(comma("1234567889988"))}func comma(s string) string {var newByte byte = ','n := len(s)buf := bytes.NewBuffer([]byte{})if n <= 3 {return s}for i := 0; i < n; i++ {if (n-i)%3 == 0 && i != 0 {buf.WriteByte(newByte)}buf.WriteByte(s[i])}return buf.String()}
练习4.3 重写函数reverse,使用数组指针作为参数而不是slice
package mainimport ("fmt"
)func main() {var arr [7]int = [7]int{1, 2, 3, 6, 48, 299, 4990}reverse(&arr)fmt.Println("In main(), arr values:", arr)}func reverse(arr *[7]int) {for i, j := 0, len(*arr)-1; i < j; i, j = i+1, j-1 {(*arr)[i], (*arr)[j] = (*arr)[j], (*arr)[i]}
}
练习4.5,编写一个就地处理函数,用于去 除[]string slice 中相邻的重复字符串元素
package mainimport ("fmt"
)func main() {x := []int{1, 1, 2, 3, 4, 4, 4, 5, 6, 6, 7, 7}x = remove(x)fmt.Printf("%d", x)
}func remove(slice []int) []int {for i := range slice {if i > len(slice)-1 {return slice}fmt.Printf("%d\n", slice)if i < len(slice)-1 && slice[i] == slice[i+1] {copy(slice[i:], slice[i+1:])slice = slice[:len(slice)-1]fmt.Printf("%d \n", slice)return remove(slice)}}return slice}
go程序设计语言练习题相关推荐
- java语言程序设计答案_《java语言程序设计》练习题及答案
<java语言程序设计>练习题及答案 JAVA 语言程序设计题及部分答案 一.单选题:(每题1分)下列各题A).B).C).D)四个选项中, 只有一个选项是正确的,请将正确选项的标记写在题 ...
- C 程序设计语言——第四章练习题
C 程序设计语言第二版--第四章练习题 1. Write the function strindex(s,t) which returns the position of the rightmost ...
- c语言程序设计函数题,C语言程序设计函数练习题及参考答案
<C语言程序设计函数练习题及参考答案>由会员分享,可在线阅读,更多相关<C语言程序设计函数练习题及参考答案(60页珍藏版)>请在人人文库网上搜索. 1.C语言程序设计练习题及参 ...
- c语言程序设计函数题,C语言程序设计函数练习题及参考答案.doc
C语言程序设计函数练习题及参考答案.doc C 语言程序设计练习题及参考答案 1. 定义一个函数 int funint a,int b,int c, 它的功能是 若 a,b,c 能构成等边三角形函数返 ...
- c语言中1%3c%3c2 什么意思,c语言练习题
篇一:C语言考试题库及答案 C语言理论上机考试选择题部分(共200题,仅针对11级定向专业) 1.下面程序的输出是___D______ #include void main() { int k=11; ...
- 我们利用计算机解决问题时第一步应该,算法与程序设计综合评价练习题
算法与程序设计综合评价练习题 一.利用计算机解决问题的基本过程 判断题: 1.一个算法有一个或多个输出,但可以没有输入.()参考答案:正确. 2.我们常说的程序设计语言就是程序设计.()参考答案:错误 ...
- 如何用计算机编程算题,计算机二级Web程序设计章节练习题
计算机二级Web程序设计章节练习题 二级定位为程序员,考核内容包括公共基础知识和程序设计.所有科目对基础知识作统一要求,使用统一的公共基础知识考试大纲和教程.这是小编提供的计算机二级Web程序设计章节 ...
- vb编写一个计算机配置选择程序,2016计算机二级《VB程序设计》练习题及答案
2016计算机二级<VB程序设计>练习题及答案 一.选择题 1.以下能够触发文本框Change事件的操作是(C) A.文本框失去焦点 B.文本框获得焦点 C.设置文本框的焦点 D.改变文本 ...
- 进阶 c程序设计语言,C程序设计进阶
你将学到什么 Computer Display Standard C Programming C++ 课程概况 如果说学习过<计算导论与C语言基础>,你已经迈入了C语言的殿堂,那么< ...
最新文章
- TensorRT Samples: MNIST(serialize TensorRT model)
- BZOJ3992:[SDOI2015]序列统计——题解
- Win7下U盘安装Ubuntu14.04双系统
- DCMTK:DcmAttributeMatching的单元测试
- 最吸量的手游ICON设计参考资料
- 使用git提交项目到码云
- opencv4.4.0函数手册_【文档更新】发布100ask_imx6ull用户手册V2.0和全新烧写工具
- 电商首焦素材的万能构图模板
- SharePoint 2010 整合Sil“.NET研究”verlight 4应用 - 任务管理
- sql语句区分大小写吗?
- OpenCV 基本模块
- mysql日期为00_MySQL 8.0.13设置日期为0000-00-00 00:00:00时出现的问题解决
- python 清华镜像_树莓派raspberry4B入坑指南 part-1 virtualenv安装python
- 用友账套和报表服务器显示不同,用友T3ufo报表提示“服务器出现意外情况”
- java经纬度度分秒转换为小数点格式
- KDD 2022论文合集(持续更新中)
- 听说程序员普遍缺乏数据结构,惊得我熬了一宿滋味浓郁的数据结构,滋一口回味悠长(建议珍藏)
- Oracle 中数据类型变更无效 ---ora-22858:数据类型的变更无效 for clod
- 简单了解Django应用app及分布式路由
- 中国文化产业基地(园区)投资战略规划与未来发展研究报告2021年版
热门文章
- (SQL入门经典+SQL必知必会+视频)笔记之一
- (一)深度学习项目代码结构
- linux 正点原子ov5640_【正点原子FPGA连载】第二十四章OV5640摄像头HDMI显示-摘自【正点原子】领航者 ZYNQ 之嵌入式开发指南 (amobbs.com 阿莫电子论坛)...
- [UE4]如何下载并编译UE4源码
- 神秘微信短信发送技术准备
- android m和6.0的区别吗,清甜棉花糖:安卓M/Android 6.0上手体验评测
- 使用DevExpress Reports和PDF Viewer创建AcroForm Designer
- Jave概述及变量总结
- python123测验5随机密码生成_基于社会工程学的弱口令密码字典生成工具
- U盘病毒Global.exe专杀