package main
import (
"bufio"
"fmt"
"io/ioutil"
"os"
"strconv"
)
// 判断成绩
func grade(score int) string {
g := ""
switch {
case score < 0 || score > 100:
// 抛出一个异常
panic(fmt.Sprintf("输入的成绩%d不符合!",score))
case score < 60:
g = "F"
case score < 80:
g = "C"
case score < 90:
g = "B"
case score <= 100:
g = "A"
}
return g
}
// 文件
func file() {
const filename = "a.txt"
contents, err := ioutil.ReadFile(filename)
// 写法一
if err != nil {
fmt.Println(err)
} else {
fmt.Printf("%s\n",contents)
}
// 写法二
// 如果这样的写法,c 的作用域就只能在if里面使用, 之外的地方用不了
if c, e := ioutil.ReadFile(filename); err != nil {
fmt.Println(e)
} else {
fmt.Printf("%s\n",c)
}
}
// 数值转换, 为二进制
func convertToBin(n int) string {
result := ""
for ; n > 0; n /= 2 {
lsb := n % 2
// strconv.Itoa(lsb) 是数值装换
result = strconv.Itoa(lsb) + result
}
return result
}
// 读取文件
func printFile(filename string) {
file, err := os.Open(filename)
if err != nil {
panic(err)
}
// 一行行的读取
scanner := bufio.NewScanner(file)
// go语言的循环, 只有有一个可以中断的条件就可以了
for scanner.Scan() {
fmt.Println(scanner.Text())
}
// for 死循环, 只需要这么简单
//for {
// fmt.Println("abc")
//}
}
func main() {
file()
fmt.Println(
grade(1),
grade(78),
)
fmt.Println(convertToBin(13))
printFile("a.txt")
}
golang-循环、判断
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。