Go语言 基础教程 实战

猜谜游戏

package mainimport ("bufio""fmt""math/rand""os""strconv""strings""time"
)func main() {maxNum := 100rand.Seed(time.Now().UnixNano())  //生成随机数种子secretNumber := rand.Intn(maxNum) //生成一个0-100随机数fmt.Println("要猜测的数字是 ", secretNumber)fmt.Println("请输入你猜测数的数字")reader := bufio.NewReader(os.Stdin) //从键盘读入for {input, err := reader.ReadString('\n')if err != nil {fmt.Println("输入出错")continue}input = strings.TrimSuffix(input, "\n")//把结尾的换行符去掉guess, err := strconv.Atoi(input)//字符串转成int整数if err != nil {fmt.Println("无效输入,请输入一个整数")continue}fmt.Println("你的猜测是 ", guess)if guess > secretNumber {fmt.Println("你的猜测大于secretNumber,请重新输入")} else if guess < secretNumber {fmt.Println("你的猜测小于secretNumber,请重新输入")} else {fmt.Println("猜对了")break}}}

在线词典 - 抓包

右键检查,找到请求,复制cUrl,

用刚刚复制的cUrl生成代码,链接

代码

package mainimport ("fmt""io/ioutil""log""net/http""strings"
)func main() {client := &http.Client{}var data = strings.NewReader(`{"trans_type":"en2zh","source":"good"}`)req, err := http.NewRequest("POST", "https://api.interpreter.caiyunai.com/v1/dict", data)if err != nil {log.Fatal(err)}req.Header.Set("Accept", "application/json, text/plain, */*")req.Header.Set("Accept-Language", "zh-CN,zh;q=0.9")req.Header.Set("Connection", "keep-alive")req.Header.Set("Content-Type", "application/json;charset=UTF-8")req.Header.Set("Origin", "https://fanyi.caiyunapp.com")req.Header.Set("Referer", "https://fanyi.caiyunapp.com/")req.Header.Set("Sec-Fetch-Dest", "empty")req.Header.Set("Sec-Fetch-Mode", "cors")req.Header.Set("Sec-Fetch-Site", "cross-site")req.Header.Set("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36")req.Header.Set("X-Authorization", "token:qgemv4jr1y38jyq6vhvi")req.Header.Set("app-name", "xy")req.Header.Set("os-type", "web")req.Header.Set("sec-ch-ua", `" Not A;Brand";v="99", "Chromium";v="101", "Google Chrome";v="101"`)req.Header.Set("sec-ch-ua-mobile", "?0")req.Header.Set("sec-ch-ua-platform", `"macOS"`)resp, err := client.Do(req)if err != nil {log.Fatal(err)}defer resp.Body.Close()bodyText, err := ioutil.ReadAll(resp.Body)if err != nil {log.Fatal(err)}fmt.Printf("%s\n", bodyText)
}

运行,就输出了一串json格式的字符串。

package mainimport ("bufio""fmt""math/rand""os""strconv""strings""time"
)func main() {maxNum := 100rand.Seed(time.Now().UnixNano())secretNumber := rand.Intn(maxNum)// fmt.Println("The secret number is ", secretNumber)fmt.Println("Please input your guess")reader := bufio.NewReader(os.Stdin)for {input, err := reader.ReadString('\n')if err != nil {fmt.Println("An error occured while reading input. Please try again", err)continue}input = strings.TrimSuffix(input, "\n")guess, err := strconv.Atoi(input)if err != nil {fmt.Println("Invalid input. Please enter an integer value")continue}fmt.Println("You guess is", guess)if guess > secretNumber {fmt.Println("Your guess is bigger than the secret number. Please try again")} else if guess < secretNumber {fmt.Println("Your guess is smaller than the secret number. Please try again")} else {fmt.Println("Correct, you Legend!")break}}
}

Go语言 基础教程 实战相关推荐

  1. %3c- r语言运算符,R语言基础教程之运算符

    原标题:R语言基础教程之运算符 运算符类型 在R编程中有以下类型的运算符 - 算术运算符 关系运算符 逻辑运算符 赋值运算符 其他运算符1.算术运算符 下表显示了R语言支持的算术运算符.运算符对向量的 ...

  2. c语言常量类型转换,c语言基础教程常量变量和类型转换,免费版.doc

    c语言基础教程常量变量和类型转换,免费版 第二章??????常量变量和类型转换2.1.1数字常量??? 数字常量包括整型常量和浮点型常量,浮点型常量又称实数.????1.整型常量???? HYPERL ...

  3. C语言不用文件系统读取文件,C语言-基础教程-非缓冲文件系统

    前面介绍的缓冲文件系统是借助文件结构体指针来对文件进行管理,通过文件指针来对文件进行访问,既可以读写字符.字符串.格式化数据,也可以读写二进制数据.非缓冲文件系统依赖于操作系统,通过操作系统的功能对文 ...

  4. c语言指针地址交换程序,C语言-基础教程-指针的地址分配

    我们可以定义指针变量指向任何类型的变量.在上述的处理过程中,指针变量指向的变量通过传递变量的地址来实现.指针变量的取值是内存的地址,这个地址应当是安全的,不可以是随意的,否则,写入内存单元的值将会使得 ...

  5. 计算机编程c 语言实型数据,C语言-基础教程-C语言实型数据

    C语言-基础教程-C语言实型数据 分类:计算机等级 | 更新时间:2016-07-08| 来源:转载 2.4.1 实型常量 实型常量又称浮点常量,是一个十进制表示的符号实数.符号实数的值包括整数部分. ...

  6. Go语言基础教程:版本选择

    专题目标:打造Go语言新手入门零基础免费教程 文章核心:一次只解决一个问题,用尽可能短的时间 你好,我是洋一,一个持续向上生长的互联网人. 众所周知,我们学习一门编程语言,很大程度上都离不开搭建该编程 ...

  7. R语言基础教程6:程序设计基础

    R语言基础教程1:数据类型 R语言基础教程2:散点图 R语言基础教程3:曲线图.误差线和图例 R语言基础教程4:柱形图 R语言基础教程5:图形页面排版 R语言基础教程6:程序设计基础 R语言基础教程7 ...

  8. c语言怎么做步骤循环,C语言基础教程之循环

    此程序已经陷入无限循环中,C语言基础教程之循环 当一段代码需要执行多次时,您可能会遇到这种情况.通常,语句按顺序执行:首先执行函数中的第一个语句,然后执行第二个语句,依此类推. 编程语言提供各种控制结 ...

  9. c+语言基础教程pdf下载,C语言基础教程.PDF

    目錄 Introduction 1.1 入门教程 1.2 helloworld 1.2.1 数值 .字符与字符串 1.2.2 运算符及表达式 1.2.3 选择结构与循环结构 1.2.4 函数基本概念及 ...

  10. c语言教程在线阅读,《C语言基础教程》.doc

    <C语言基础教程>.doc C语言基础教程(一) 网上收集整理 Turbo C语言概述 1.1 C 语言的产生与发展 C 语言是1972年由美国的Dennis Ritchie设计发明的, ...

最新文章

  1. Metasploit***技巧:后***Meterpreter代理
  2. 音频编码标准发展现状
  3. 框架:mybatis常用标签(refid、foreach、trim)
  4. hdu 4501 小明系列故事——买年货 多重背包
  5. 卓越只值1.5亿RMB?
  6. 空间谱专题08:相位模糊
  7. AWS Lambda现已支持.NET Core 2.0
  8. ssh(Spring+Spring mvc+hibernate)——EmpController
  9. 什么是java虚拟机?
  10. JAVA集合四:比较器--类自定义排序
  11. JavaScript实现单击上一张和下一张按钮切换图片
  12. c# 多线程单例模式_线程安全C#单例模式
  13. 基于matlab直方图均衡,matlab 直方图均衡实验报告.pdf
  14. VRay Next(4.0) for SketchUp之BIG分析图制作教程
  15. [Python从零到壹] 四十三.图像增强及运算篇之图像点运算和图像灰度化处理
  16. 抖音java解析_Java版抖音解析接口
  17. [Unity Native Container] 自定义Native Container [第 1 部分]:基础知识
  18. 什么是JPA、JPA的基础实战
  19. vue + vtk.js读取CT序列,显示3d影像(三个面显示)
  20. mathtype插入在WPS中出现The MathType DLL cannot be found问题

热门文章

  1. [云原生专题-11]:容器 - 如何构建自己的docker镜像:Docker Dockerfile
  2. ubuntu 10.04解决Skype中麦克风不工作问题
  3. 《高性能MySQL》读书笔记
  4. SEO实战密码(第3版) 60天网站流量提高20倍-3
  5. 陪学网腾讯直播课堂开课啦~免费、免费、免费,重要的事情说三遍
  6. WinRAR5.01注册码附注册机
  7. 【zz】标题: 安装mplayer+ffmpeg-mt+CorAVC 2.0成功,发帖纪念!
  8. 车型代号对照表_车型代号对照表2015Q3
  9. 群色散 matlab,科学网—MATLAB软件绘制一维双原子晶格的格波色散曲线 - 李金磊的博文...
  10. 人工智能大数据时代下的工程伦理问题探讨