请问为何结果显示的顺序奇怪?
来源:2-4 条件语句

CYW好好学习
2019-07-23
package main
import (
"fmt"
"io/ioutil"
)
func eval (a,b int , op string)int{
var result int
switch op {
case "+":
result = a + b
case "-":
result = a - b
case "*":
result = a*b
case "/":
result = a / b
default:
print("unsupported operator:"+ op)
}
return result
}
func main(){
const filename = "abc.txt"
//contents,err := ioutil.ReadFile(filename)
//if err != nil{
// fmt.Println(err)
//}else {
// fmt.Printf("%s\n",contents)
//}
if contents,err := ioutil.ReadFile(filename);err != nil{
fmt.Println(err)
}else {
fmt.Printf("%s\n",contents)
}
fmt.Println(eval(3,3,"o"))
}
运行结果展示的顺序有点奇怪:
abcde
unsupported operator:o12345
hello
again
0
为什么 unsupported operator:o 被插在了中间???而不是在最后?
还有 panic 与 println 有何区别?
写回答
1回答
-
phper小白
2019-07-23
panic 会已报错的形式中断程序运行
println 与 fmt.Println 是不同的,我了解的好像是因为会有缓存的问题,所有存在先后。 你打印的方法都采用fmt.Println 就会是正确的了
112019-07-23
相似问题