目录
3,省略递增条件的应用:读取abc.txt文件中的内容输出,go没有while,可以用for替代
1,一个简单的for循环案例:1-100之和
运行代码:
package main
import "fmt"
//循环语句for
//for的条件里不需要括号
//for的条件里可以省略初始条件,结束条件,递增表达式
func main() {
sum := 0//定义sum初值为0
for i := 1; i <= 100; i++ {//i从1到100,步长为1
sum += i//每循环一次加一次
}
fmt.Println(sum)
}
输出:5050
运行截图:![](https://img-blog.csdnimg.cn/87d01000662948ca914db0e84e8fc22e.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA56uL5b-X5Yay5rW35aSn,size_20,color_FFFFFF,t_70,g_se,x_16)
2,省略初始条件的应用:10进制转2进制
运行代码:
func tobin(n int) string { //整数转二进制函数,函数值为整形,函数返回值为字符串
result := ""
for ; n > 0; n /= 2 {
lsb := n % 2
result = strconv.Itoa(lsb) + result //itoa作用是将整形转为字符
}
return result
}
输出:101 1101
运行截图:![](https://img-blog.csdnimg.cn/9a3a477e89f149b8be7510a65e8ff483.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA56uL5b-X5Yay5rW35aSn,size_20,color_FFFFFF,t_70,g_se,x_16)
3,省略递增条件的应用:读取abc.txt文件中的内容输出,go没有while,可以用for替代
运行代码:
//省略递增条件的应用,go没有while,可以用for替代
func printfile(filename string) {
file, err := os.Open(filename) //使用os.open打开一个文件,会返回两个参数
//file是文件,err是出错信息
if err != nil { //如果err不等于nil说明出错
panic(err) //使用panic函数使程序终止并报错
}
scanner := bufio.NewScanner(file) //定义scanner用于读取内容
for scanner.Scan() { //for循环省略递增条件只有一个结束条件
fmt.Println(scanner.Text()) //逐行输出文件中的内容
}
}
运行截图:
4,for循环省略结束条件的应用:死循环
运行代码:
//for循环省略结束条件的应用
func forever() {
for {
fmt.Println("abc")
}
}
运行截图:![](https://img-blog.csdnimg.cn/25af32fc1f6d480795e517c2d265f09e.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA56uL5b-X5Yay5rW35aSn,size_19,color_FFFFFF,t_70,g_se,x_16)
本章完结,运行代码汇总:
package main
import (
"bufio"
"fmt"
"os"
"strconv"
)
//省略初始条件的应用:10进制转2进制
func tobin(n int) string { //整数转二进制函数,函数值为整形,函数返回值为字符串
result := ""
for ; n > 0; n /= 2 {
lsb := n % 2
result = strconv.Itoa(lsb) + result //itoa作用是将整形转为字符
}
return result
}
//省略递增条件的应用,go没有while,可以用for替代
func printfile(filename string) {
file, err := os.Open(filename) //使用os.open打开一个文件,会返回两个参数
//file是文件,err是出错信息
if err != nil { //如果err不等于nil说明出错
panic(err) //使用panic函数使程序终止并报错
}
scanner := bufio.NewScanner(file) //定义scanner用于读取内容
for scanner.Scan() { //for循环省略递增条件只有一个结束条件
fmt.Println(scanner.Text()) //逐行输出文件中的内容
}
}
//for循环省略结束条件的应用
func forever() {
for {
fmt.Println("abc")
}
}
func main() {
fmt.Println(
tobin(5), //101
tobin(13), //1101
)
printfile("abc.txt")
forever()
}