GO语言实现文本每行数据乘以0.8

文本中数据计算

1.读取input.txt文本中每行数字

2.每行数字乘以0.8,输出到out.txt文件中

package main

import (
	"bufio"
	"fmt"
	"log"
	"os"
	"strconv"
)

func main() {
	// 打开输入文件
	inputFile, err := os.Open("D:\\goproject\\src\\golang\\demo02\\input.txt")
	if err != nil {
		log.Fatal(err)
	}
	defer inputFile.Close()

	// 创建一个扫描器来读取输入文件
	scanner := bufio.NewScanner(inputFile)

	// 创建输出文件
	outputFile, err := os.Create("D:\\goproject\\src\\golang\\demo02\\out.txt")
	if err != nil {
		log.Fatal(err)
	}
	defer outputFile.Close()

	// 创建一个写入器来写入输出文件
	writer := bufio.NewWriter(outputFile)

	// 逐行处理输入文件内容
	for scanner.Scan() {
		// 将每行的字符串转换为浮点数
		numStr := scanner.Text()
		num, err := strconv.ParseFloat(numStr, 64)
		if err != nil {
			log.Println("无法解析数字:", numStr)
			continue
		}

		// 将数字乘以0.8
		result := num * 0.8

		// 将结果写入输出文件
		fmt.Fprintln(writer, result)
	}

	if err := scanner.Err(); err != nil {
		log.Fatal(err)
	}

	// 刷新缓冲区,确保所有数据被写入文件
	writer.Flush()
}

你可能感兴趣的:(go,golang)