Go学习笔记四

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没有开始条件,没有递增条件

猜你喜欢

转载自blog.csdn.net/ltstud/article/details/83868106