Go语言基础(十六)—— Go语言文件操作

Go中各种newreader和newbuffer的使用 1、使用的newbuffer,缓存区是用来存储内容的,并不能确定具体需要的内存大小,因此newbuffer的参数为不固定的[]byte{};2、使用的newreader,缓存区应该是有数值的,此时是用来读取其中的内容。 阅读详情
package main

import (
	"fmt"
	"os"
	"bufio"
	"io/ioutil"
)
//错误处理方法
func handle(why string,e error){
	if e!=nil{
		fmt.Println(why,"错误为:",e)
	}

}

func main() {
//读文件方式一
	/*file, e := os.OpenFile("./1.txt",os.O_RDONLY,0754)
	handle("文件打开失败!", e)

	defer file.Close()
	reader := bufio.NewReader(file)
	for  {
		str, err := reader.ReadString('\n')
		if err == io.EOF{
			break
		}
		handle("文件读取失败!", err)

		fmt.Println(str)
	}
	fmt.Println("文件读取完毕!")*/

	//读文件方式二
	/*bytes, e := ioutil.ReadFile("./1.txt")
	handle("文件读取失败!",e)
	fmt.Println(bytes)
	fmt.Println(string(bytes))*/

	file, i := os.OpenFile("./1.txt", os.O_WRONLY|os.O_APPEND, 0761)
	handle("打开文件失败!", i)
	defer file.Close()

	writer := bufio.NewWriter(file)

	name := "heiasdasdasdasdasdasdasdasdasdasdasdashei "
	_, err := writer.WriteString(name)
	writer.Flush()
	handle("文件写入失败!",err)
	fmt.Println("写入成功")

	bytes, e := ioutil.ReadFile("./1.txt")
	handle("文件读取失败!",e)
	fmt.Println(bytes)
	fmt.Println(string(bytes))

}


打开文件时,第二个参数可以控制,打开文件的方式,比如os.APPEND是文件写入时,在末尾添加

 

Go语言基础语法 因此,这里的索引是指字节在字符串中的位置,而不是字符在字符串中的位置(对于多字节字符,后者可能更有用,但 Go 的 range 在字符串上不提供这种索引)。在 Go 语言中,chan 关键字用于创建通道(channel),通道是一种用于在 goroutine 之间进行通信的类型化管道。关闭通道后,无法再向通道发送数据,但可以继续从通道接收数据,直到通道为空。在上面的例子中,index 是元素的索引,而 value 是对应索引的元素值。在这个例子中,key 是映射的键,而 value 是与键关联的值。 阅读详情

相关推荐

(Golang) 牛客 在线编程 Go语言入门

本文为牛客的在线编程的GO语言入门题集的个人解析牛客网在线编程_语法篇_GO语言入门本人主语言C/C++ 来这边刷一下GO的入门语法题,这个题库很基础很入门真的就是纯考GO语法本文虽然是展示AC代码,但实际是为了记录GO的各种基础语法,便于以后遗忘了可以查看牛客的环境是版本:Go 1.14。

cuber-lotus的博客 2207

Golang 中的 bytes 包详解(二):bytes.Reader

Golang 中的 bytes 包是其中一个 IO 操作标准库,实现了对字节切片([]byte)的操作,提供了类似于 strings 包的功能。本文先讲解一下 bytes 包中的结构体 bytes.Reader。

路多辛的所思所想 1945

十六、Golang文件操作详解

从 Go 1.16 开始,现在提供了相同的功能 通过包或包,以及这些实现 应该在新代码中首选。有关详细信息,请参阅特定函数文档。弃用了"io/ioutil"对文件的操作。

阿澈不吃蒜的博客 563

golang strings包使用

分析 strings标准库包主要涉及字符串的基本操作。 常见字符串的操作有: 字符串求长度 求子串 是否存在某个字符或者子串 子串出现的次数(字符串匹配) 字符串分割(切分)成[]string 字符串是否存在某个前缀或后缀 字符或者子串在字符串中首次出现的位置或最后一次出现的位置 通过某个字符串将[]string进行拼接 字符串重复次数 字符串中子串替换 大小写转换 等等。 由于string类型可以看成是一种特殊的slice类型,因此获取长度可以用内置的函数len;同时支持 ****切片 操作****,

magices的博客 1879

Go语言开发的十六进制编辑器——itchyny-bed源码解析

本文还有配套的精品资源,点击获取 简介:开源项目“itchyny-bed”是一个基于Go语言开发的十六进制编辑器,它允许用户查看和编辑文件的二进制内容,非常适合需要处理文件低级操作的场景。Go语言的高效并发处理和跨平台特性使得bed编辑器能够提供强大的编辑能力和广泛的操作系统支持。本项目可能包含二进制查看与编辑、搜索与替换、多平台支持、内存映射文件、命令行界面、可扩展性、源...

weixin_33557333的博客 780

开源WorkBuddy实战课:从零搭建AI Agent办公自动化工作台

AI Agent作为大语言模型之上的智能体,正在重塑办公效率。它通过工具调用、任务规划与长期记忆,将被动问答升级为主动执行。WorkBuddy作为图形化智能体工作台,降低了搭建门槛,让非技术人员也可配置自动化流程。本文开源整套实战资料,涵盖JDK环境配置、模型接入、日报邮件处理、表格清洗、批量文档生成等场景,并讲解自定义指令、Skills扩展与MCP协议。从基础概念到工程实践,帮助读者快速上手,构建属于自己的办公自动化助手。

weixin_29083475的博客 224

Go开发者必读:Bytes包全面功能指南

在这篇文章中,我们深入探讨了Go语言的bytes和。从基础操作到高级应用,我们了解了如何有效地使用这些工具来处理字节和字符串数据。通过实际的编程案例,我们展示了这些功能在解决实际问题时的实用性和高效性。bytes包的强大之处不仅在于它提供的丰富功能,还在于它能够帮助开发者以更高效、更优雅的方式编写Go代码。无论是在日常的数据处理工作中,还是在构建大型的Go应用时,bytes包都是一个不可或缺的工具。我们希望通过这篇指南,您能够更加深入地理解和掌握bytes包的使用。

walkskyer的博客 1917

MDM主数据清洗和编码集成说明

绝大多数的企业业务系统是伴随业务发展而建设的,但随着业务发展单一系统难以支撑企业业务闭环。MDM主数据管理平台可以满足企业数据治理的需求,本文针对主数据清洗和编码集成进行梳理。...

数通畅联 3318

【C++】文件操作,读操作出现中文乱码

C++对文件进行操作,其中包括 读操作出现中文乱码 的解决方法

guliguliguliguli的博客 2768

GPU算力租用平台推荐

阿里云作为中国领先的云计算服务提供商,提供了丰富的GPU云服务器实例,包括NVIDIA Tesla V100、A100等多种高性能GPU型号。阿里云GPU云服务器适用于深度学习、科学计算、图形渲染等多种场景,能够满足不同用户的计算需求。

hong161688的博客 8173

企业网络架构设计:从内网到外网的无缝通信方案

本文详细解析了企业网络架构设计中的关键技术与实践方案,重点介绍了VLAN划分、OSPF路由优化、安全策略及无线网络集成等核心内容。通过OSPF多区域部署和链路聚合技术,实现内网到外网的无缝通信,提升企业网络性能与安全性。文章还提供了具体的配置示例和最佳实践,助力企业构建高效可靠的网络架构。

weixin_28331555的博客 623

go语言基础精修(尚硅谷笔记)

适用于使用过go语言但是没从头到尾学习过go的人第二遍学习的go语言入门到精通

zhaicheng55的博客 3019

蓝牙开发那些事之ceva controller代码解读

对比ceva的经典蓝牙和ble的controller在软件上的差异点

袁赟的博客 1090

十六、Go语言基础之包

在工程化的Go语言开发项目中,Go语言的源码复用是建立在包(package)基础之上的。本文介绍了Go语言中如何定义包、如何导出包的内容及如何导入其他包。 Go语言的包(package) 包介绍 包(package)是多个Go源码的集合,是一种高级的代码复用方案,Go语言为我们提供了很多内置包,如fmt、os、io等。 定义包 我们还可以根据自己的需要创建自己的包。一个包可以简单理解为一个存放.go文件的文件夹。 该文件夹下面的所有go文件都要在代码的第一行添加如下代码,声明该文件归属的包

Dove_1234的博客 189

使用 Tesseract 在 C# 中进行光学字符识别(OCR)

你可以根据需要对 Tesseract 进行自定义配置,例如设置识别的分辨率、识别模式等。// 只识别数字// 设置自定义变量本文只讲述了简单的使用方法,未涉及字库训练,识别的准确率与训练的字库有关。

仰望星空的博客 4733

Cadence PCB仿真使用Allegro PCB SI S参数配置方法图文教程

S参数即S-Parameter是指散射参数,描述信号在传输线中的正反向传输和正反向反射的情况。本文讲述在使用Allegro PCB SI进行信号完整性仿真前,S参数的配置方法。

fydar的博客 2177

[GO语言基础] Golang 操作 Redis(十六)

[GO语言基础] Golang 操作 Redis(十六)

weixin_54707168的博客 936

图解联合概率密度、边缘概率密度、条件概率密度之间的关系

简要图解联合概率密度、边缘概率密度、条件概率密度之间的关系

一个搬运知识的笨小孩 2万+

一起学Go吧! Go语言基础语法篇二

文章目录前言Go 语言指针总结 前言 昨天发布了简单的Go语言的语法基础,今天咱继续来一起学习!让学习的快乐充实我们的每一天! 想先学习Go语言的同学可以看博主的前一篇 一起学Go吧! Go语言基础语法篇一 Go 语言指针 Go 语言中指针是很容易学习的,Go 语言中使用指针可以更简单的执行一些任务。 接下来让我们来一步步学习 Go 语言指针。 我们都知道,变量是一种使用方便的占位符,用于引用计算机内存地址。 Go 语言的取地址符是 &,放到一个变量前使用就会返回相应变量的内存地址。 以下实例演.

jmu201821122110 1791

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

5.Go语言基础语法——《跟老吕学Go》

变量,顾名思义,它的值在程序运行过程中是可以改变的。在Go语言中,我们可以使用var关键字来声明一个变量,并为其指定一个初始值。var a int = 10 // 声明一个整型变量a,并初始化为10fmt.Println(a) // 输出变量a的值,结果为10a = 20 // 在程序运行过程中改变变量a的值fmt.Println(a) // 再次输出变量a的值,结果为20通过这段代码,我们可以清晰地看到变量a的值在程序运行过程中被改变了。

Python老吕的博客 1037

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Go 语言基础

Go 语言基础 基本类型、复合类型、函数、方法、接口、反射、协程、通道、管道,和包的管理,bug 定位,性能分析,对 *_test.go 文件的测试

qq_56402474的博客 686

【Golang 基础系列十六】Go 语言接口

概述 Go 语言中的接口就是方法签名的集合,接口只有声明,没有实现,不包含变量。 语法 定义接口 type [接口名] interface { 方法名1(参数列表) 返回值列表 方法名2(参数列表) 返回值列表 ... } 例子 type Isay interface{ sayHi() } 实现接口 例子 //定义接口的实现类 type Chinese...

郭枫的博客 731

想系统学习GO语言(Golang),能推荐几本靠谱的书吗?

以下内容来自知乎: 学习任何一门语言,都要学习好基础,把基础打牢,那些框架对你来说都是工具,你自己的基础好,懂得了他们的原理,自己就可以创造更优秀的框架。 基础推荐官方文档,没有什么比这个更清晰了。官方文档可以看这个中文的,比较快一些 https://go-zh.org/doc/ 其次参考这个Go指南,练习一遍 https://tour.go-zh.org/welcome/1 现在对Go语言应该有了一个全面的认识,然后你再结合Go语言圣经这本书,深入理解Go的基础。 Go语言圣经中文版 https

Mick_^_^的博客 8341

go get 指定版本_Go语言基础(十六)

Go语言基础(十六)一、etcd介绍二、etcd架构三、Go语言连接etcd四、思考题一、etcd介绍etcd是使用Go语言开发的一个开源的、高可用的分布式key-value存储系统,可以用于配置共享和服务的注册和发现。类似的项目有zookeeper和consul。现在都用etcd而不用zookeeper了。etcd具有以下特点:高全复制:集群中每个节点都可以使用完整的文档;高可用性:Etcd可用...

weixin_39703773的博客 935

Go语言基础之网络编程

文章目录Go语言基础之网络编程互联网协议介绍互联网分层模型物理层数据链路层网络层传输层应用层socket编程socket图解Go语言实现TCP通信TCP协议TCP服务端TCP客户端TCP黏包黏包示例为什么会出现粘包解决办法Go语言实现UDP通信UDP协议UDP服务端UDP客户端 Go语言基础之网络编程 现在我们几乎每天都在使用互联网,我们前面已经学习了如何编写Go语言程序,但是如何才能让我们的程序...

Allen 1万+
上一篇: Go语言基础(十五)—— Go语言实现json数据文件读取与存储
下一篇: Go语言基础(十七)—— 文件拷贝小案例
The_Reader
博客等级 码龄10年 74粉丝 97原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值