文件IO


1、文件创建

package main

import "os"

func main(){
        //file, _ := os.Create("test.txt") //返回file结构体内容
        file, _ := os.OpenFile("test.txt",os.O_RDWR,0666) //返回同上
}
//执行结果:
-rw-r--r-- 1 root root 18 3月   3 18:02 test.txt

2、文件写入

package main

import "os"

func main(){
	//file, _ := os.Create("test.txt") //返回file结构体内容
	file, _ := os.OpenFile("test.txt",os.O_RDWR,0666) //返回同上
	//向文件写入一串内容
	file.WriteString("a string in a line")
	file.Close()
}
//执行结果:
[root@localhost stu]# cat test.txt
a string in a line

3、文件读取    

package main

import "fmt"
//import "os"
import "io/ioutil"

func main(){
	//file, _ := os.Create("test.txt") //返回file结构体内容
	/*
	file, _ := os.OpenFile("test.txt",os.O_RDWR,0666) //返回同上
	//向文件写入一串内容
	file.WriteString("a string in a line")
	file.Close()
	*/
	stream, _ := ioutil.ReadFile("test.txt") //返回一个字节数组
	readString := string(stream)  //转换为字符串
	fmt.Println(readString)
}
//执行结果:
a string in a line

---------------- 另一种方法 -------------------------------------

package main

import "fmt"
import "os"
//import "io/ioutil"

func main(){
	file , _ := os.Open("test.txt")  //打开
	buf := make([]byte,1024)       //声明一个数组
	n, _ := file.Read(buf)         //将读取内容存到数组
	readString := string(buf[:n])  //类型转换
	fmt.Println(readString)     
}
//执行结果:
a string in a line

4、抓取用户输入

package main

import "fmt"
//import "os"
//import "io/ioutil"

func main(){
	fmt.Println("what is your name?")
	var name string
	fmt.Scan(&name)    //用fmt.Scan来存用户输入
	fmt.Println("welcome ",name)
}
//执行结果:
what is your name?
ttt
welcome  ttt

类型转换


1、类型转换

package main

import "fmt"
import "strconv"

func main(){
	num1 := 5
	num2 := 11.5
	str1 := "100"
	str2 := "120.5"

	fmt.Println(float64(num1))
	fmt.Println(int(num2))
	fmt.Println(strconv.ParseInt(str1,0,64))
	fmt.Println(strconv.ParseFloat(str2,64))
}
//执行结果:
5
11
100 <nil>
120.5 <nil>