代码拉取完成,页面将自动刷新
package main
import (
"bufio"
"fmt"
"io"
"io/ioutil"
"os"
"strconv"
)
func PrintToTerminal() { //向目录下写文字
file, err := os.OpenFile("/home/hu/go/src/hello.txt", os.O_CREATE|os.O_WRONLY, 0664)
defer file.Close()
if err != nil {
fmt.Println("open file err,:", err)
return
}
fmt.Fprintf(file, "do balance err\n")
}
type Student struct {
Name string
Age int
Score float32
}
func (p *Student) String() string {
var score string = fmt.Sprintf("%f", p.Score)
return p.Name + " " + strconv.Itoa(p.Age) + " " + score
}
func fmtFmt() {
var str = "stu01 18 91.55"
var stu Student
fmt.Sscanf(str, "%s %d %f", &stu.Name, &stu.Age, &stu.Score)
fmt.Println(&stu)
}
var inputReader *bufio.Reader
var input string
var err error
func bufioBufio() { //read file by terminal
inputReader := bufio.NewReader(os.Stdin)
fmt.Println("Please enter some input:")
input, err := inputReader.ReadString('\n') //单引号是比特,双引号是字符串
if err != nil {
fmt.Printf("read string failed:%s\n", input)
}
fmt.Printf("read file success,return :%s", input)
}
func readFile() {
file, err := os.Open("/home/hu/go/src/hello.txt")
defer file.Close()
if err != nil {
fmt.Println("read file err\n", err)
return
}
inputReader := bufio.NewReader(file)
// fmt.Println("Please enter some input:")
input, err := inputReader.ReadString('\n') //单引号是比特,双引号是字符串
if err != nil {
fmt.Printf("read string failed:%s\n", input)
}
fmt.Printf("read file success,return :%s", input)
}
type CharCount struct {
ChCount int
NUmCount int
SpaceCount int
OtherCount int
}
func countInput() {
file, err := os.Open("/home/hu/go/src/hello.txt")
defer file.Close()
if err != nil {
fmt.Printf("read file err:%s\n", err)
return
}
var count CharCount
reader := bufio.NewReader(file)
for {
str, err := reader.ReadString('\n')
if err == io.EOF {
break
}
if err != nil {
fmt.Printf("read string failed,err:%s\n", err)
}
runeArr := []rune(str)
for _, v := range runeArr {
switch {
case v >= 'a' && v <= 'z':
fallthrough
case v >= 'A' && v <= 'Z':
count.ChCount++
case v >= '0' && v <= '9':
count.NUmCount++
case v == ' ':
count.SpaceCount++
default:
count.OtherCount++
}
}
}
fmt.Printf("charCount is %d\n", count.ChCount)
fmt.Printf("NumCount is %d\n", count.NUmCount)
fmt.Printf("SpaceCount is %d\n", count.SpaceCount)
fmt.Printf("OtherCount is %d\n", count.OtherCount)
}
func testioutil() {
inputFile := "/home/hu/go/src/hello.txt"
outputFile := "/home/hu/go/src/world.txt"
buf, err := ioutil.ReadFile(inputFile)
if err != nil {
fmt.Fprintf(os.Stderr, "File Error:%s\n", err)
return
}
fmt.Printf("%s\n", string(buf))
err = ioutil.WriteFile(outputFile, buf, 0x64)
if err != nil {
panic(err.Error())
}
}
func main() {
// PrintToTerminal()
// fmtFmt()
// bufioBufio()
// readFile()
// countInput()
testioutil()
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。