沈阳网站建设公司多少钱,吴正斌建盏简介,最好的网页设计公司,wordpress使用latex乱码go - 学习笔记 -2 类型转换运算符输入输出函数输入输出函数应用流程控制语句之分支语句流程控制语句之多分支语句星座案例分支语句嵌套循环语句循环语句和分支语句之间的嵌套for循环的作用域退出循环语句 类型转换
package mainimport (fmtreflectfmtreflectstrconv
)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.00var price, error strconv.ParseBool(priceStr)fmt.Println(error, error) // nilfmt.Println(price, price, reflect.TypeOf(price))// 将字符串转为浮点型// 将字符串转为布尔值
}运算符
package mainimport fmtfunc 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 fmtfunc 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.000250e03默认精度为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 (fmtstrings
)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 fmtfunc 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 (fmtos
)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 fmtfunc 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 {countfmt.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 - count100 - 循环体语句 - count - count100 - 循环体语句 - count.......count100 - breakfor count : 0; count 10; count {// 循环体语句fmt.Println(count)}*//*// 基于循环实现打印 1234...100var s 0for count : 1; count 100; count {s count}fmt.Println(s)*/
}循环语句和分支语句之间的嵌套
package mainimport fmtfunc 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 fmtfunc foo() {var y 100fmt.Println(y)
}func main() {for i : 0; i 10; i {fmt.Println(i)}//fmt.Println(i) // 这里无法获取到i的值
}退出循环语句
package mainimport fmtfunc 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)}}