当前位置:网站首页>【Go ~ 0到1 】 第一天 6月24 变量,条件判断 循环语句
【Go ~ 0到1 】 第一天 6月24 变量,条件判断 循环语句
2022-06-28 08:16:00 【秋日的晚霞】
1. 变量的声明方式
标准声明
var 变量名 数据类型 = 变量值
简短声明
变量名 := 变量值
2. if 条件判断
1.if 条件判断
//条件判断:
var flag = true
if flag {
fmt.Println("结果为true")
} else {
fmt.Println("结果为false")
}
2.多条件判断
// 多条件判断
age := 30
if age == 20 {
fmt.Println("年龄刚好是20岁")
} else if age > 20 {
fmt.Println("年龄大于20岁")
} else {
fmt.Println("年龄少于20岁")
}
3.作用域判断
num 的作用域仅限于 if语句中
//作用域判断:
if num := 20; num < 30 {
fmt.Println("num值小于30")
} else {
fmt.Println("num值大于30")
}
3.for 循环语句
1.基本格式
for 变量声明;条件判断;步进表达式{
循环体语句
}
for num := 0; num < 100; num++ {
fmt.Printf("从%d到100\n", num)
}
2.死循环
for ;;{
循环体语句
}
for ; ; {
fmt.Println("我是死循环")
}
end. 练习
统计一段文本中 数字,字母 和 汉字的个数
package main
import (
"bufio"
"fmt"
"io"
"os"
"unicode"
)
var (
//数字 字母 汉字
num, wd, han = 0, 0, 0
)
func main() {
//打开文件
file, err := os.Open("D:\\练习文本.txt")
if err != nil {
fmt.Printf("读取文件出现了错误 %v\n", err.Error())
}
//确保关闭io流
defer file.Close()
//获取字符缓冲流
reader := bufio.NewReader(file)
//转换为string
for {
readString, err := reader.ReadString('\n')
if err == io.EOF {
//说明读取完毕
transition(readString)
fmt.Println("文件读取完毕")
break
}
if err != nil {
fmt.Printf("读取字符流出错 %v\n", err)
}
transition(readString)
}
fmt.Println("数字个数 : ", num, " 字母个数 : ", wd, " 汉字个数 :", han)
}
func transition(readString string) {
for a1, str := range readString {
a1 = a1
fmt.Println(str)
if unicode.IsNumber(str) {
num++
}
if unicode.IsLower(str) {
wd++
}
if unicode.IsUpper(str) {
wd++
}
if unicode.Is(unicode.Han, str) {
han++
}
}
}
边栏推荐
- 2022第六季完美童模 佛山赛区 初赛圆满落幕
- Is it reliable to open an account by digging money? Is it safe?
- JS rounding tips
- 你了解TCP协议吗(二)?
- IO error in Oracle11g: got minus one from a read call
- Login common test case
- Build an integrated kubernetes in Fedora
- Is it reliable for securities companies to register and open accounts? Is it safe?
- 安装nrm后,使用nrm命令报错internal/validators.js:124 throw new ERR_INVALID_ARG_TYPE(name, ‘string‘, value)
- Estimation of SQL execution cost by MySQL query optimizer
猜你喜欢

ROS 笔记(08)— 服务数据的定义与使用

Redis master-slave structure and application scenarios

sql主从复制搭建

块级元素上下左右居中的两个小技巧

Devops Basics: Jenkins deployment and use (I)

AI首席架构师8-AICA-高翔 《深入理解和实践飞桨2.0》

After installing NRM, the internal/validators js:124 throw new ERR_ INVALID_ ARG_ TYPE(name, ‘string‘, value)

图像翻译:UVCGAN: UNET VISION TRANSFORMER CYCLE-CONSISTENT GAN FOR UNPAIRED IMAGE-TO-IMAGE TRANSLATION

Activity隐式跳转

图像翻译/Transformer:ITTR: Unpaired Image-to-Image Translation with Transformers用Transfor进行非配对图像对图像的转换
随机推荐
块级元素上下左右居中的两个小技巧
App automated testing appium Tutorial Part 1 - advanced supplementary content
Is it reliable to open an account by digging money? Is it safe?
Prometheus + grafana + MySQL master-slave replication + host monitoring
Connaissez - vous le protocole TCP (2)?
Eslint 语法监测关闭
匿名页的反向映射
Selenium reptile
关于在cmd中MySQL不能插中文数据的原因
Uvcgan: unt vision transformer cycle-consistent Gan for unpropared image-to-image translation
[learning notes] search
How to use redis to solve concurrency problems
SQL master-slave replication setup
2022第六季完美童模 佛山赛区 初赛圆满落幕
Redis deployment under Linux & redis startup
探讨gis三维系统在矿山行业中的应用
[learning notes] matroid
SLAM中常用的雅克比矩阵J
十大券商注册开户靠谱吗?安全吗?
Redis cerebral fissure