go - 学习笔记 -2

go - 学习笔记 -2

    • 类型转换
    • 运算符
    • 输入输出函数
    • 输入输出函数应用
    • 流程控制语句之分支语句
    • 流程控制语句之多分支语句
    • 星座案例
    • 分支语句嵌套
    • 循环语句
    • 循环语句和分支语句之间的嵌套
    • for循环的作用域
    • 退出循环语句


类型转换

package mainimport ("fmt""reflect""strconv"
)func main() {// 1、整型之间的转换 int8 int16 int32//var x int8 = 10//var y int16 = 20//fmt.Println(x + int8(y))// 2、字符串与整型之间的转换:strconv//var ageStr = "32"//var age, error = strconv.Atoi(ageStr)//fmt.Println("error", error) // <nil>//fmt.Println("age", age, reflect.TypeOf(age))//price := 100//priceStr := strconv.Itoa(price)//fmt.Println(priceStr, reflect.TypeOf(priceStr))// 3、strconv Parse系列函数// 将字符串转为整型//priceStr := "100"//var price, error = strconv.ParseInt(priceStr, 10, 64)//fmt.Println("error", error) // <nil>//fmt.Println("price", price, reflect.TypeOf(price))// 将字符串转为浮点型//priceStr := "100.00"//var price, error = strconv.ParseFloat(priceStr, 64)//fmt.Println("error", error) // <nil>//fmt.Println("price", price, reflect.TypeOf(price))// 将字符串转为布尔型priceStr := "100.00"var price, error = strconv.ParseBool(priceStr)fmt.Println("error", error) // <nil>fmt.Println("price", price, reflect.TypeOf(price))// 将字符串转为浮点型// 将字符串转为布尔值
}

运算符

package mainimport "fmt"func main() {// 1、 科学运算 + - * / %//var x, y = 10, 20//fmt.Println(x + y)//fmt.Println(x - y)//fmt.Println(x * y)//fmt.Println(x / y)//fmt.Println(x % y)// 计算一个数字是奇数还是偶数//fmt.Println(x%2 == 0)// 2、 比较运算符 > < = !=//fmt.Println(x > y)//fmt.Println(x < y)//fmt.Println(x == y)//fmt.Println(x != y)// 3、逻辑运算符 && ||//fmt.Println(true && false)//fmt.Println(true || false)//fmt.Println(!true && false)// 3.1 案例1//username := "yuan"//password := 123//fmt.Println(username == "yuan" && password == 123)// 3.2 案例2//name := "root"//age := 22//ret := name == "yuan" || !(age < 33)//fmt.Println(ret)// 4、赋值运算//var x = 10//x += 1 // x = x +1//fmt.Println(x)//x -= 1 // x = x -1//fmt.Println(x)//var y = 11//y++ // y = y + 1//fmt.Println(y)// 5、优先级var a, b, c = 1, 2, 3fmt.Println(a, b, c)var t = a + bfmt.Println(t)
}

输入输出函数

package mainimport "fmt"func main() {// 1、print和pringln//var name, age = "yuan", 22//fmt.Print(name, age)//fmt.Println(name, age)// 2、 printf:标准化输出//name := "yuan"//age := 24//isMarried := false//salary := 3000.549//fmt.Printf("姓名:%s 年龄:%d 婚否:%t 薪资:%.2f\n", name, age, isMarried, salary)//fmt.Printf("姓名:%v 年龄:%v 婚否:%v 薪资:%v\n", name, age, isMarried, salary)//fmt.Printf("姓名:%#v 年龄:%#v 婚否:%#v 薪资:%#v\n", name, age, isMarried, salary) 整形和浮点型//fmt.Printf("%b\n", 12)       // 二进制表示:1100//fmt.Printf("%d\n", 12)       // 十进制表示:12//fmt.Printf("%o\n", 12)       // 八进制表示:14//fmt.Printf("%x\n", 12)       // 十六进制表示:c//fmt.Printf("%X\n", 12)       // 十六进制表示:c//fmt.Printf("%f\n", 3.1415)   // 有小数点而无指数:3.141500//fmt.Printf("%.3f\n", 3.1415) // 3.142//fmt.Printf("%e\n", 1000.25)  // 科学计数法:  1.000250e+03,默认精度为6// 设置宽度//fmt.Printf("学号:%s 姓名:%-20s 平均成绩:%-4d\n", "1001", "alvin", 100)//fmt.Printf("学号:%s 姓名:%-20s 平均成绩:%-4d\n", "1002", "zuibangdeyuanlaoshi", 98)//fmt.Printf("学号:%s 姓名:%-20s 平均成绩:%-4d\n", "1003", "x", 78)// 3、 sprintf//name := "yuan"//age := 24//isMarried := false//salary := 3000.549//info := fmt.Sprintf("姓名:%s 年龄:%d 婚否:%t 薪资:%.2f\n", name, age, isMarried, salary)//fmt.Println(info)// 4、输入函数 IO函数// 4.1 fmt.Scan:以空格或换行符分割多个值,都可以//var name string//var age int//fmt.Print("请输入姓名和年龄:")//fmt.Scan(&name, &age)//fmt.Println(name, age)// 4.2 fmt.Scanln:最好只用空格分割多个值,用换行符则默认后续输入值为空。换行即结束。//var name string//var age int//fmt.Print("请输入姓名和年龄:")//fmt.Scanln(&name, &age)//fmt.Println(name, age)// 4.3 fmt.Scanf:最好只用空格分割多个值,用换行符则默认后续输入值为空。换行即结束。var a, b intfmt.Print("请按指定格式输入:")fmt.Scanf("%d+%d", &a, &b)fmt.Println(a + b)}

输入输出函数应用

package mainimport ("fmt""strings"
)func main() {// 案例 一 : 输入以YYYY-MM-DD格式的生日,输入以 YYYY年-MM月-DD日格式//var birth string//fmt.Print("请输入年月日以 YYYY-MM-DD格式:")//fmt.Scan(&birth)//birthSlice := strings.Split(birth, "-")//fmt.Printf("您的生日是%s年-%s月-%s日", birthSlice[0], birthSlice[1], birthSlice[2])// 案例 二:输入一个英文名,如果以A/a开头,则返回true,否则返回flasevar name stringfmt.Print("请输入英文名:")fmt.Scan(&name)//var b = (strings.HasPrefix(name, "a")) || (strings.HasPrefix(name, "A"))UpName := strings.ToUpper(name)var b = strings.HasPrefix(UpName, "A")fmt.Println(b)}

流程控制语句之分支语句

package mainimport "fmt"func main() {// 分支语句// 1、单分支 if//var name = "inner"//if name == "inner" {//    fmt.Println("姓名匹配成功")//}// 2、双分支 if else//var age int//fmt.Print("请输入年龄:")//fmt.Scan(&age)//if age >= 18 {//	fmt.Println("年龄大于18")//} else {//	fmt.Println("年龄小于18")//}// 2.1 用户输入用户名和密码,判断是否登陆成功var userName, passWord stringfmt.Print("请输入用户名:")fmt.Scan(&userName)fmt.Print("请输入密码:")fmt.Scan(&passWord)if userName == "root" && passWord == "123" {fmt.Println("登陆成功")} else {fmt.Println("登陆失败")}
}

流程控制语句之多分支语句

package mainfunc main() {// 多分枝// 1、多分支 if - else if - else if ....else/*var score intfmt.Print("请输入你的成绩:")fmt.Scan(&score)if score < 0 || score > 100 {fmt.Println("你的成绩不正确")} else if score > 90 {fmt.Println("成绩优秀")} else if score > 60 {fmt.Println("成绩良好")} else {fmt.Println("成绩不及格")}*//*var week intfmt.Print("请输入星期的数字:")fmt.Scan(&week)if week == 0 {fmt.Println("星期日")} else if week == 1 {fmt.Println("星期一")} else if week == 2 {fmt.Println("星期二")} else if week == 3 {fmt.Println("星期三")} else if week == 4 {fmt.Println("星期四")} else if week == 5 {fmt.Println("星期五")} else if week == 6 {fmt.Println("星期六")} else {fmt.Println("输入不合法")}*/// 2、switch语句,switch值判断/*var week intfmt.Print("请输入星期的数字:")fmt.Scan(&week)switch week {case 0:fmt.Println("星期日")case 1:fmt.Println("星期一")case 2:fmt.Println("星期二")case 3:fmt.Println("星期三")case 4:fmt.Println("星期四")case 5:fmt.Println("星期五")case 6:fmt.Println("星期六")default:fmt.Println("非法输入")}*/
}

星座案例

package mainimport ("fmt""os"
)func main() {var month, day intfmt.Print("请输入生日的月和日:")fmt.Scan(&month, &day)var xingZuo stringif day < 1 || day > 31 {fmt.Println("输入的日有问题")os.Exit(0)}switch month {case 1:// 日判断if day >= 1 && day <= 19 {xingZuo = "摩羯座"} else {xingZuo = "水瓶座"}case 2:// 日判断if day >= 1 && day <= 18 {xingZuo = "水瓶座"} else {xingZuo = "双鱼座"}case 3:// 日判断if day >= 1 && day <= 20 {xingZuo = "双鱼座"} else {xingZuo = "白羊座"}case 4:// 日判断if day >= 1 && day <= 19 {xingZuo = "白羊座"} else {xingZuo = "金牛座"}case 5:// 日判断if day >= 1 && day <= 20 {xingZuo = "金牛座"} else {xingZuo = "双子座"}case 6:// 日判断if day >= 1 && day <= 21 {xingZuo = "双子座"} else {xingZuo = "巨蟹座"}case 7:// 日判断if day >= 1 && day <= 22 {xingZuo = "巨蟹座"} else {xingZuo = "狮子座"}case 8:// 日判断if day >= 1 && day <= 22 {xingZuo = "狮子座"} else {xingZuo = "处女座"}case 9:// 日判断if day >= 1 && day <= 22 {xingZuo = "处女座"} else {xingZuo = "天秤座"}case 10:// 日判断if day >= 1 && day <= 23 {xingZuo = "天秤座"} else {xingZuo = "天蝎座"}case 11:// 日判断if day >= 1 && day <= 22 {xingZuo = "天蝎座"} else {xingZuo = "射手座"}case 12:// 日判断if day >= 1 && day <= 21 {xingZuo = "射手座"} else {xingZuo = "摩羯座"}default:fmt.Println("输入的月份有问题")}fmt.Println("您的星座是:", xingZuo)
}

分支语句嵌套

package mainimport "fmt"func main() {var username, password stringfmt.Print("输入用户名和密码:")fmt.Scan(&username, &password)if username == "root" && password == "123" {var score intfmt.Print("请输入你的成绩:")fmt.Scan(&score)if score < 0 || score > 100 {fmt.Println("你的成绩不正确")} else if score > 90 {fmt.Println("成绩优秀")} else if score > 60 {fmt.Println("成绩良好")} else {fmt.Println("成绩不及格")}} else {fmt.Println("用户名或密码错误!")}
}

循环语句

package mainfunc main() {/*for 表达式 { 循环语句 }*//*// 循环10次var count = 0for count < 10 {fmt.Println(count)count++}*//*// 打印1-100var count = 0for count < 100 {count++fmt.Println(count)}*//*// 打印100-1var count = 100for count > 0 {fmt.Println(count)count--}*//*// 三要素for循环var count = 0 //初始语句for count < 10 { // 条件表达式fmt.Println(count)count++ // 步进语句}*//*// 执行顺序为:count:=0 -> count<100 -> 循环体语句 -> count++ -> count<100 -> 循环体语句 -> count++.......count>100 -> breakfor count := 0; count < 10; count++ {// 循环体语句fmt.Println(count)}*//*// 基于循环,实现打印 1+2+3+4...+100var s = 0for count := 1; count < 100; count++ {s += count}fmt.Println(s)*/
}

循环语句和分支语句之间的嵌套

package mainimport "fmt"func main() {/*// 循环语句中嵌套分支语句for count := 1; count < 100; count++ {if count%2 == 0 { //判断是否为偶数fmt.Println(count)}}*/// 分支语句中嵌套循环语句for true {var num intfmt.Print("请输入一个正整数:")fmt.Scan(&num)if num > 100 {// 从小到大打印1-numfor i := 1; i <= num; i++ {fmt.Println(i)}} else {// 从大到小打印num-1for i := num; i >= 1; i-- {fmt.Println(i)}}}
}

for循环的作用域

package mainimport "fmt"func foo() {var y = 100fmt.Println(y)
}func main() {for i := 0; i < 10; i++ {fmt.Println(i)}//fmt.Println(i) // 这里无法获取到i的值
}

退出循环语句

package mainimport "fmt"func main() {// 退出循环 break/*// 示例一for i := 0; i < 10; i++ {if i == 6 {break}fmt.Println(i)}*//*// 示例二fmt.Printf(`1、普通攻击2、超级攻击3、使用道具4、逃跑5、退出游戏`)for true {var choice intfmt.Printf("请输入选择:")fmt.Scanln(&choice)//fmt.Println(choice,reflect.TypeOf(choice))if choice == 5 {fmt.Println("游戏退出")break}switch choice {case 1:fmt.Println("普通攻击")case 2:fmt.Println("超级攻击")case 3:fmt.Println("使用道具")case 4:fmt.Println("逃跑")default:fmt.Println("输入有误!")}}*/// countinue 退出当次循环// 示例一for i := 0; i < 10; i++ {if i == 6 {continue}fmt.Println(i)}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/706759.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【寸铁的刷题笔记】图论、bfs、dfs

【寸铁的刷题笔记】图论、bfs、dfs 大家好 我是寸铁&#x1f44a; 金三银四&#xff0c;图论基础结合bfs、dfs是必考的知识点✨ 快跟着寸铁刷起来&#xff01;面试顺利上岸&#x1f44b; 喜欢的小伙伴可以点点关注 &#x1f49d; &#x1f31e;详见如下专栏&#x1f31e; &…

Java毕业设计-基于springboot开发的漫画之家系统-毕业论文+PPT(有源代码)

文章目录 前言一、毕设成果演示&#xff08;源代码在文末&#xff09;二、毕设摘要展示1.开发说明2.需求分析3、系统功能结构 三、系统实现展示1、系统功能模块2、后台模块3、用户功能模块 四、毕设内容和源代码获取总结 Java毕业设计-基于springboot开发的漫画之家系统-毕业论…

华为手动ipv6-to-ipv4隧道

中间r2的两个接口配置两个地址就行了&#xff0c;其它什么都不用配置 两边出接口R1和R3手动隧道建立&#xff1a;先把IPV4打通&#xff0c;并配置默认路由 再起隧道接口上进行配置&#xff0c;再配置带隧道的默认路由 PC上和上联接口网关只有IPV6地址 最终两个PC可以ping通 …

Python Web开发记录 Day4:JavaScript

名人说&#xff1a;莫道桑榆晚&#xff0c;为霞尚满天。——刘禹锡&#xff08;刘梦得&#xff0c;诗豪&#xff09; 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 四、JavaScript1、JavaScript-基础①JavaScript…

postman访问k8s api

第一种方式&#xff1a; kubectl -n kubesphere-system get sa kubesphere -oyaml apiVersion: v1 kind: ServiceAccount metadata:annotations:meta.helm.sh/release-name: ks-coremeta.helm.sh/release-namespace: kubesphere-systemcreationTimestamp: "2023-07-24T07…

Unity(第十部)时间函数和文件函数

时间函数 using System.Collections; using System.Collections.Generic; using UnityEngine;public class game : MonoBehaviour {// Start is called before the first frame updatefloat timer 0;void Start(){//游戏开始到现在所花的时间Debug.Log(Time.time);//时间缩放值…

Collections常用方法(Java)

Collections常用方法 使用 sort(List<T> list) 对 List 进行排序&#xff1a; List<Integer> numbers new ArrayList<>(Arrays.asList(3, 1, 4, 1, 5, 9, 2, 6)); Collections.sort(numbers); System.out.println("排序后的列表&#xff1a;" …

alembic

alembic是sqlalchemy的作者开发的。 用来做OMR模型与数据库的迁移与映射。 第一个&#xff0c;alembic的所有命令都是以alembic开头 第二&#xff0c;alembic的迁移文件也是通过版本进行控制的。首先&#xff0c;通过pip install alembic进行安装。以下将解释alembic的用法 方…

【Go-Zero】测试API查询信息无法返回数据库信息与api、rpc文件编写规范

【Go-Zero】测试API查询信息无法返回数据库信息与api、rpc文件编写规范 大家好 我是寸铁&#x1f44a; 总结了一篇测试API查询信息无法返回数据库信息与api、rpc文件编写规范的文章✨ 喜欢的小伙伴可以点点关注 &#x1f49d; 问题背景 大家好&#xff0c;我是寸铁&#xff01…

ARM系列 -- 虚拟化(四)

今天来看看虚拟中断。 在一个非虚拟化的系统中&#xff0c;操作系统可以直接访问GIC的寄存器&#xff0c;并且处理GIC的物理中断接口&#xff08;physical interrupt interface&#xff09;。 但是在一个虚拟化的系统中&#xff0c;不是这样。Guest OS并不知道它运行在虚拟系…

Apache软件基金会的孵化标准和毕业标准

Apache软件基金会的孵化标准和毕业标准是一个项目成功的重要衡量指标。这些标准关注项目的多个方面&#xff0c;包括开放性、合作性、共建性、透明性、技术可行性、社区建设以及用户基础等。在孵化阶段&#xff0c;Apache软件基金会主要关注项目的开放性和合作性。首先&#xf…

日更【系统架构设计师知识总结2】指令系统(结合真题)

【原创精华】结合老师的讲授、耗费三个小时的精华总结对正在备考的你一定有用&#xff01;&#xff01;自己一点点手打、总结的脑图&#xff0c;把散落在课本以及老师讲授的知识点合并汇总&#xff0c;反复提炼语言&#xff0c;形成知识框架。希望能给同样在学习的伙伴一点帮助…

数据结构与算法(数组,栈,队列,链表,哈希表,搜索算法,排序算法,查找算法,策略算法,递归算法,二叉搜索树BST,动态规划算法)

文章目录 1 课程介绍1.1 前置知识1.2 为什么要学习算法1.3 大厂面试常见数据结构题目(基础)1.4 数据结构和算法的关系 2 数据结构2.1 数据结构概述2.1.1 数据结构是什么2.1.2 数据结构分类2.1.2.1 线性结构2.1.2.2 非线性结构2.1.2.3 小总结 2.1.3 数据结构范围 2.2 数组Array2…

八、ChatGPT能替代什么人?

上一讲关于ChatGPT的热炒&#xff0c;其实对于我们来说算是敲了敲警钟。 其实在今天&#xff0c;关于ChatGPT&#xff0c;最多人关注的一个问题就是&#xff1a;ChatGPT能取代人吗&#xff0c;或者说能抢人的饭碗么吗&#xff1f; 有人说不能&#xff0c;也有人说能&#xff08…

前端sql条件拼接js工具

因为项目原因&#xff0c;需要前端写sql&#xff0c;所以弄了一套sql条件拼接的js工具 ​ /*常量 LT : " < ", LE : " < ", GT : " > ", GE : " > ", NE : " ! ", EQ : " ", LIKE : " like &qu…

SpringBoot 拦截器(Interceptor)详解

概念 在Spring Boot中&#xff0c;拦截器是一种用于处理HTTP请求的机制&#xff0c;主要用于执行一些预处理或后处理的逻辑。与AOP不同&#xff0c;拦截器更专注于HTTP请求的处理 拦截器接口 在Spring Boot中&#xff0c;拦截器需要实现HandlerInterceptor接口&#xff01;&a…

【突发】MDPI再出事!23本期刊84篇论文存在“审稿人工厂”问题,4本被中科院预警!

毕业推荐 SCIE&#xff1a; • 计算机类&#xff0c;6.5-7.0&#xff0c;JCR1区&#xff0c;中科院2区 • 2个月19天录用&#xff0c;6天见刊&#xff0c;36天检索 SCIE&#xff08;CCF-C类&#xff09; • 算法类&#xff0c;2.0-3.0&#xff0c;JCR3区&#xff0c;中科院…

python笔记_格式化输出

%操作符 %s字符串%d整数%.2f浮点数&#xff08;显示小数点后两位&#xff09; 定义 name Tom age 9 score 77.5 输出 print("猫咪信息&#xff1a;%s %d %.2f" % (name,age,score)) ——>猫咪信息&#xff1a;Tom 9 77.50 注意&#xff1a;%操作符指定的类型必…

后台与接口测试demo 查数据

pom 里引入 mybatis 依赖 2.添加 entity 实体类 3.添加 Mapper 添加SQL语句、接口 SpringbootApplicants.Java 添加 RestController接口 标识 SpringbootApplication 是一个接口&#xff0c;可以通过 GetMapping(“/”) 查询所有数据。 GetMapping(“/”) 依赖于 RestCon…

SpringCloud微服务-Eureka注册中心

Eureka注册中心 文章目录 Eureka注册中心前言1、Eureka的作用2、搭建EurekaServer3、服务注册4、启动多个实例5、服务拉取 -实现负载均衡 前言 在服务调用时产生的问题&#xff1a; //2. 利用RestTemplate发起HTTP请求&#xff0c;查询user String url "http://localho…