河北省企业网站建设公司开发网站公司交税

news/2025/9/24 0:52:24/文章来源:
河北省企业网站建设公司,开发网站公司交税,爱站网的关键词是怎么来的,馨雨公司网站建设策划方案Go原生的pkg中有一些核心的interface#xff0c;其中io.Reader/Writer是比较常用的接口。很多原生的结构都围绕这个系列的接口展开#xff0c;在实际的开发过程中#xff0c;你会发现通过这个接口可以在多种不同的io类型之间进行过渡和转化。本文结合实际场景来总结一番。 总… Go原生的pkg中有一些核心的interface其中io.Reader/Writer是比较常用的接口。很多原生的结构都围绕这个系列的接口展开在实际的开发过程中你会发现通过这个接口可以在多种不同的io类型之间进行过渡和转化。本文结合实际场景来总结一番。 总览 围绕io.Reader/Writer有几个常用的实现 net.Conn, os.Stdin, os.File: 网络、标准输入输出、文件的流读取strings.Reader: 把字符串抽象成Readerbytes.Reader: 把[]byte抽象成Readerbytes.Buffer: 把[]byte抽象成Reader和Writerbufio.Reader/Writer: 抽象成带缓冲的流读取比如按行读写这些实现对于初学者来说其实比较难去记忆在遇到实际问题的时候更是一脸蒙圈不知如何是好。下面用实际的场景来举例 场景举例 0. base64编码成字符串 encoding/base64包中 func NewEncoder(enc *Encoding, w io.Writer) io.WriteCloser 这个用来做base64编码但是仔细观察发现它需要一个io.Writer作为输出目标并用返回的WriteCloser的Write方法将结果写入目标下面是Go官方文档的例子 input : []byte(foo\x00bar) encoder : base64.NewEncoder(base64.StdEncoding, os.Stdout) encoder.Write(input) 这个例子是将结果写入到Stdout如果我们希望得到一个字符串呢观察上面的图不然发现可以用bytes.Buffer作为目标io.Writer input : []byte(foo\x00bar) buffer : new(bytes.Buffer) encoder : base64.NewEncoder(base64.StdEncoding, buffer) encoder.Write(input) fmt.Println(string(buffer.Bytes()) 1. []byte和struct之间正反序列化 这种场景经常用在基于字节的协议上比如有一个具有固定长度的结构 type Protocol struct {Version uint8BodyLen uint16Reserved [2]byteUnit uint8Value uint32 } 通过一个[]byte来反序列化得到这个Protocol一种思路是遍历这个[]byte然后逐一赋值。其实在encoding/binary包中有个方便的方法 func Read(r io.Reader, order ByteOrder, data interface{}) error 这个方法从一个io.Reader中读取字节并已order指定的端模式来给填充datadata需要是fixed-sized的结构或者类型。要用到这个方法首先要有一个io.Reader从上面的图中不难发现我们可以这么写 var p Protocol var bin []byte //... binary.Read(bytes.NewReader(bin), binary.LittleEndian, p) 换句话说我们将一个[]byte转成了一个io.Reader。 反过来我们需要将Protocol序列化得到[]byte使用encoding/binary包中有个对应的Write方法 func Write(w io.Writer, order ByteOrder, data interface{}) error 通过将[]byte转成一个io.Writer即可 var p Protocol buffer : new(bytes.Buffer) //... binary.Writer(buffer, binary.LittleEndian, p) bin : buffer.Bytes()2. 从流中按行读取 比如对于常见的基于文本行的HTTP协议的读取我们需要将一个流按照行来读取。本质上我们需要一个基于缓冲的读写机制读一些到缓冲然后遍历缓冲中我们关心的字节或字符。在Go中有一个bufio的包可以实现带缓冲的读写 func NewReader(rd io.Reader) *Reader func (b *Reader) ReadString(delim byte) (string, error) 这个ReadString方法从io.Reader中读取字符串直到delim就返回delim和之前的字符串。如果将delim设置为\n相当于按行来读取了 var conn net.Conn //... reader : NewReader(conn) for {line, err : reader.ReadString([]byte(\n))//... }花式技zuo巧si string转[]byte a : Hello, playground fmt.Println([]byte(a)) 等价于 a : Hello, playground buf : new(bytes.Buffer) buf.ReadFrom(strings.NewReader(a)) fmt.Println(buf.Bytes())

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/914408.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

个人备案做电影网站广西建设信息网

随着科技的飞速发展,气体检测仪在各行各业中的应用已十分普遍,其主要用途是检测环境中的气体浓度。 1、检测气体纯度 主要用于气体储罐、管道等储运设备中检测气体的纯度,一般都是专门针对高纯气体的浓度值进行检测,常见的如氩气…

网站制作完成后如何发布网站快备案

Docker安装(CentOS) 一键卸载旧的 sudo yum remove docker* 一行代码(自动安装) 使用官方安装脚本 curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 启动 docker并查看状态 运行镜像 hello-world docker run hello-world 简单使用 使用 docker run …

python做公司网站兰州今天发生的重大新闻

前言 大家好,这里是RT-DETR有效涨点专栏。 本专栏的内容为根据ultralytics版本的RT-DETR进行改进,内容持续更新,每周更新文章数量3-10篇。 专栏以ResNet18、ResNet50为基础修改版本,同时修改内容也支持ResNet32、ResNet101和PP…

郑州交易网站建设天津网站建设 阿土伯

在当今数字化时代,软件开发成为推动各行各业创新和发展的关键要素。然而,由于软件开发领域的专业性和技术性,跨行业的用户有时难以理解软件开发的过程和方法。本文将探讨一些快速获取用户需求的方式,以便更广泛的跨行业用户能够理…

linux网站环境陕西省建设网站

少儿编程教育是通过编程游戏启蒙、可视化图形编程等课程,培养学生的计算思维和创新解难能力的课程。与成人的编程不同,少儿编程教育并非高等教育那样学习如何写代码、编制应用程序,而是通过编程游戏启蒙、可视化图形编程等课程,培…

网站建设在哪物业建设网站

对于源代码分析有一个基本原则:要找到它的最早期的版本,比如1.0版本。1.0版本奠定了一款框架的基础结构,之后的版本迭代都是基于这套结构进行更新的。所以掌握了基础结构,那也就掌握了这个框架。这个原则适用于世界上绝大多数事务…

信息网站建设wordpress 怎么加入插件

windows计划任务 查看 Windows 自动执行的指令取消 Windows 中的计划任务启动执行计划任务 查看 Windows 自动执行的指令 您可以使用以下方法: 使用任务计划程序:任务计划程序是 Windows 内置的工具,可以用于创建、编辑和管理计划任务。您可…

做网站服务器租一年多少钱阿里云1元域名

快捷操作 快捷键 快捷键功能备注Ctrl P打印 Ctrl W关闭 Ctrl B书签 鼠标放菜单栏,单击右键即可导入/导出 自定义菜单栏文件-->偏好设置-->文档 1、多实例:单击PDF后均重新打开一个新界面。

服务器 多个网站wordpress page页

近年来,随着我国工业化、城镇化步伐的不断加快,城市配电网络取得令人瞩目的发展成果。变配电室是供配电系统的核心,在供配电系统中占有特殊的重要地位[1]。变配电室电气设备运行状态和环境信息缺乏必要的监测评估预警手段,如有一日遭遇突发情…

天津建设银行网站北京网站设计与网站制作

1、static关键字的作用 修饰局部变量 作用域:无变化 生命周期:函数--->程序(数据段) 特点:只初始化一次 修饰全局变量 作用域:整个工程----->本模块 生命周期:无变化 修饰函数 作…

成都网站建设 全美室内设计网站模板

多线程是 Java 编程中的一个重要概念,它允许程序同时执行多个任务,提高了程序的性能和响应能力。本篇博客将深入探讨 Java 多线程,从基础概念到实际应用,适用于 Java 初学者和希望深入了解多线程的开发人员。 什么是多线程&#…

湖北工程建设信息网站网站建设域名

一、Homebrew的镜像设置 对于Java JDK的安装,我们更推荐使用Homebrew来进行安装管理。但Homebrew的curl国外源的下载速度实在是一言难尽,时常还会发生无法访问的情况。 那么我们此时的解决方法就有两种了,第一种便是使用全局的VPN代理进行下载…

电商平台网站大全湖南建设厅网站勘查设计

罗其胜3d角色强化 CGwhat-Maya变形金刚擎天柱建模教程 Pixar in the box - khan academy Siggraph历届优秀动画 CG软件发展史:MAYA动画十年历程 maya 2014奥迪汽车模型制作教程 (yj6k) 海贼王路飞建模教程高清全集 转载于:https://www.cnblog…

手机企业网站源码深圳龙岗有什么好玩的地方

Condition 源码解析 文章目录 Condition 源码解析一、Condition二、Condition 源码解读2.1. lock.newCondition() 获取 Condition 对象2.2. condition.await() 阻塞过程2.3. condition.signal() 唤醒过程2.4. condition.await() 被唤醒后 三、总结 一、Condition 在并发情况下…

厦门定制网站建设网站模板50元

第一部分 安装参考网址: https://blog.csdn.net/a1004084857/article/details/128512612; 以上步骤执行完,进入找到sbin目录,查看下面是不是有nginx可执行文件,如果有在当前sbin下执行./nginx,就会发现NGINX已启动 第…

做哪种类型的网站赚钱呢手机上怎么创建自己的网站

当我们在使用git的时候,又是会有这种情况:当新的需求了的时候。我们需要为此需求新建一个分支,再次分支上进行修改,当经过测试,提交代码时,在将其合并到主分支,或生产分支上。 但是有时候也有失…

外包网站推荐现在室内设计师好做吗

这段时间我们一直规划LSGO Group的学习网络平台,需求部分已经规划完毕,说做就做,开始搭建环境,由于利用PHPMYSQL技术,在服务器端首先安装了WAMPServer,以便提供Apache服务与MYSQL服务! 在代码的…

制作网页的流程步骤免费seo视频教学

AndroidStudio 很多时候会出现提示插件解析失败问题。可按如下步骤进行排查: 1. 翻墙后点击sync 按钮去同步;如果网络没问题,但一直同步失败,可试2. 2. C:\Users\[yourName]\.gradle\caches 中用git bash 等客户端工具去搜同步不…

鞍山市信息网站网站灰色建设

File/file 装入想要调试的可执行文件 run(r) 执行当前被调试的程序 kill(k) 终止正在调试的程序 quit(q) 退出gdb shell 使用户不离开gdb就可以执行Linux的shell命令 backtrace(bt) 回溯跟踪(当对代码进行调试时,run后…

南阳医疗网站制作价格网站建设应走什么会计科目

可以参照 Stanford大神DaphneKoller的概率图模型,里面贝叶斯网络一节讲到了explaining away。我看过之后试着谈谈自己的理解。 explainingaway指的是这样一种情况:对于一个多因一果的问题,假设各种“因”之间都是相互独立的,如果…