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)
}

最新文章

  1. OData V4 系列 Action 与 Function
  2. 正则表达式 regular expression
  3. Linux驱动设计——阻塞和同步
  4. Android IOS WebRTC 音视频开发总结(十七)-- 调试技巧
  5. 转载:Erlang 资源
  6. 你知道HTML标签设计的本意吗? 把HTML标签用到该用的地方去
  7. PHP学习笔记一
  8. cocos2d-x项目101次相遇: Scenes , Director, Layers, Sprites
  9. css动画属性--轮播图效果
  10. 谈谈.NET,Java,php
  11. YII关联字段并带搜索排序功能
  12. COM原理与实现之一
  13. hdu-1711(hash)
  14. Java编程思想--控制执行流程
  15. ubuntu14.04配置face_recognition环境
  16. css3+svg实现波浪图
  17. 【BZOJ3193】[JLOI2013]地形生成(动态规划)
  18. 关于Spring的配置文件的注解使用
  19. mac安装brew 软件包管理工具Homebrew
  20. SSH结合EasyUI系统(一)———简单介绍

热门文章

  1. 7 — 简单了解springboot中的thymeleaf
  2. HDFS05 NameNode和SecondaryNameNode
  3. 日常Java 2021/11/17
  4. day05 连表查询与子查询
  5. Rust 总章
  6. 基于DataX将数据从Sqlserver同步到Oracle
  7. iOS-调用系统的短信和发送邮件功能,实现短信分享和邮件分享
  8. Linux环境下为普通用户添加sudo权限
  9. Linux系统下部署eleasticsearch+kibana
  10. LVS nat模型+dr模型