Go语言练习 Rot13
2024-08-30 00:49:35
Go语言练习 Rot13
地址:https://tour.go-zh.org/methods/23
package main
import (
"io"
"os"
"strings"
)
type rot13Reader struct {
r io.Reader
}
func rot13(x byte) byte{
lower := x<='z'&&x>='a'
upper := x<='Z'&&x>='A'
if (!lower)&&(!upper){
return x
}
x += 13
if lower&&x>'z'{
return x-26
}
if upper&&x>'Z'{
return x-26
}
return x
}
func (rot *rot13Reader) Read(b []byte) (n int,e error){
n,e = rot.r.Read(b)
for i:=0;i<n;i++{
b[i] = rot13(b[i])
}
return n,e
}
func main() {
s := strings.NewReader("Lbh penpxrq gur pbqr!")
r := rot13Reader{s}
io.Copy(os.Stdout, &r)
}
最新文章
- OData V4 系列 Action 与 Function
- 正则表达式 regular expression
- Linux驱动设计——阻塞和同步
- Android IOS WebRTC 音视频开发总结(十七)-- 调试技巧
- 转载:Erlang 资源
- 你知道HTML标签设计的本意吗? 把HTML标签用到该用的地方去
- PHP学习笔记一
- cocos2d-x项目101次相遇: Scenes , Director, Layers, Sprites
- css动画属性--轮播图效果
- 谈谈.NET,Java,php
- YII关联字段并带搜索排序功能
- COM原理与实现之一
- hdu-1711(hash)
- Java编程思想--控制执行流程
- ubuntu14.04配置face_recognition环境
- css3+svg实现波浪图
- 【BZOJ3193】[JLOI2013]地形生成(动态规划)
- 关于Spring的配置文件的注解使用
- mac安装brew 软件包管理工具Homebrew
- SSH结合EasyUI系统(一)———简单介绍