package main
import (
"bufio"
"fmt"
"io/ioutil"
"os"
"strconv"
)
func main() {
// sum := 0
不需要括号
// for i:=1; i <= 100; i++ {
// sum += i
// }
//fmt.Println(fors())
//fmt.Println(converToBin(0))
printFile()
//readFile()
}
func fors() int {
var num int
for i := 1; i <=100 ; i++ {
num += i
}
return num
}
/*
*strconv.Itoa(); 将整形转换为字符串
*/
func converToBin(m int) string{
str := ""
// for 可以没有开始 结束 递增 条件 !!!
for ; m > 0; m /= 2 {
//最低位等于 m % 2
lib := m % 2
str = strconv.Itoa(lib) + str
}
return str
}
//小数转换为二进制
//向下取整 math.Floot float64 需要int取整
func sm(n float64) {
fmt.Println(n)
//str := ""
//
//for ; n > 0; n *= 2 {
// sp := int(math.Floor(n))
//
// str = strconv.Itoa(sp) + str
//}
//return str;
}
//一行一行读取文件内容
func printFile() {
filename := "abc.txt"
//打开文件
files, err := os.Open(filename)
scanner := bufio.NewScanner(files)
if err !=nil {
panic(err)
}
for scanner.Scan() {
fmt.Println(scanner.Text())
}
判断文件信息
//if err != nil {
// panic(err)
//}
一行一行读取文件
//scanner := bufio.NewScanner(files)
循环条件为 true 可以打开 省略开始条件 递增条件
//for scanner.Scan() {
// //打开内容
// fmt.Println(scanner.Text())
//}
}
//读取文件内容
func readFile() {
filename := "abc.txt"
//ioutil.ReadFile()
contents, err :=ioutil.ReadFile(filename)
if err != nil {
panic(err)
}
//读取字符串
fmt.Printf("%s\n",contents)
}
strconv.Itoa();整形转换为字符串
for 可以没有开始条件 结束条件 递增条件
convertToBin函数解析
for (没有开始条件); n > 0 (结束条件||因为是反过来的); n /= 2(递增条件) {
lsb := n % 2 //最低位等于
}
os.Open 打开文件 返回两个 file, err
panic报错
scanner := bufio.NewScanner(file) 读取一行一行
scanner.Scan() 返回 true false
scanner.Text() 返回一行数据
没有while,如果for没有开始条件,没有递增条件