返回顶部
首页 > 资讯 > 后端开发 > GO >为什么 struct byteCounter 被视为“io.Writer”?
  • 734
分享到

为什么 struct byteCounter 被视为“io.Writer”?

2024-04-05 00:04:36 734人浏览 安东尼
摘要

从现在开始,我们要努力学习啦!今天我给大家带来《为什么 struct byteCounter 被视为“io.Writer”?》,感兴趣的朋友请继续看下去吧!下文中的内容我们主要会涉及到等等知识点,如

从现在开始,我们要努力学习啦!今天我给大家带来《为什么 struct byteCounter 被视为“io.Writer”?》,感兴趣的朋友请继续看下去吧!下文中的内容我们主要会涉及到等等知识点,如果在阅读本文过程中有遇到不清楚的地方,欢迎留言呀!我们一起讨论,一起学习!

问题内容

在此代码中。

package main

import (
    "fmt"
    "io"
    "os"
)

type byteCounter struct {
    w     io.Writer
    count int64
}

func countingWriter(w io.Writer) (io.Writer, *int64) {
    var bc = byteCounter{w, 0}

    // here why is &bc a "io.Writer" and not bc.w cause bc.count is int64
    return &bc, &bc.count

}

func (bc *byteCounter) Write(p []byte) (n int, err error) {
    ncount, err := bc.w.Write(p)
    bc.count += int64(ncount)
    return
}

func main() {
    bc, count := countingWriter(os.Stdout)

    bc.Write([]byte("Hello World"))

    fmt.Println("\n", *count)
}

为什么 &bc 是“io.writer”类型,而不是 bc.w 我很困惑,因为我看到 bc.countint64


解决方案


为什么&bc是“io.Writer”类型

因为您的 byteCounter 类型通过具有正确签名的 Write() 方法来满足 io.Writer 接口。

而不是 bc.w

bc.w 也是 io.Writer

我很困惑,因为我看到 bc.countint64

bc.count 在这里无关紧要。您的 byteCounter 类型可以包含任何类型的任何数据。与满足接口相关的唯一事情是它是否具有必要的方法。

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《为什么 struct byteCounter 被视为“io.Writer”?》文章吧,也可关注编程网公众号了解相关技术文章。

您可能感兴趣的文档:

--结束END--

本文标题: 为什么 struct byteCounter 被视为“io.Writer”?

本文链接: https://lsjlt.com/news/596824.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 为什么 struct byteCounter 被视为“io.Writer”?
    从现在开始,我们要努力学习啦!今天我给大家带来《为什么 struct byteCounter 被视为“io.Writer”?》,感兴趣的朋友请继续看下去吧!下文中的内容我们主要会涉及到等等知识点,如...
    99+
    2024-04-05
  • 为什么Go语言被命名为Go?
    Go语言,也称为Golang,是由谷歌公司开发的一种编程语言。它的设计目标是兼顾高效性、可读性和简洁性。Go语言在云计算、大数据处理、网络编程等领域得到了广泛的应用。然而,对于许多人来...
    99+
    2024-03-07
    起源 特点 命名 go语言 网络编程
  • @PostConstruct为什么不被调用
    今天小编给大家分享一下@PostConstruct为什么不被调用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。@PostCo...
    99+
    2023-06-29
  • 为什么Cassandra被称为分布式数据库
    Cassandra被称为分布式数据库,主要是因为它具有分布式架构和设计。Cassandra采用了分布式数据存储和复制机制,数据可以分...
    99+
    2024-04-02
  • 为什么wifi会被dns劫持
    WiFi是一种允许电子设备连接到一个无线局域网的技术,通常使用的是2.4G UHF或5G SHF ISM 射频频段,其可以允许在WLAN范围内的设备进行连接,所以会出现dns劫持。...
    99+
    2024-04-02
  • 为什么程序员鄙视php
    因为很多公司随着业务的增加与需求多样性,有些企业就是要求用PHP开发,所以很多开发公司都是跟着市场走,主流的编程语言java与PHP碰面,多数情况下java程序员都不喜欢PHP程序员,并且PHP号称世界上最好的编程语言,但在java程序员觉...
    99+
    2024-04-02
  • 详解为什么指针被誉为C语言灵魂
    目录一、内存本质1.1、内存编址1.2、内存地址空间1.3、变量的本质二、指针是什么东西?2.1、变量放在哪?2.2、指针本质2.3、解引用2.4、活学活用2.5、看个小问题三、 结...
    99+
    2024-04-02
  • 台湾vps的IP为什么被墙
    台湾vps IP被墙的原因有:1、使用台湾vps的IP搭建网站版权内容,有出现侵害他人权利的情况,从而会导致台湾vps的IP被墙;2、注册的台湾vps IP存在历史不良记录,从而影响你的网站,导致出现IP被墙的情况发生。具体内容如下:1、版...
    99+
    2024-04-02
  • 服务器为什么会被攻击
    服务器会被攻击的原因:1、服务器存在系统漏洞,从而被黑客轻易攻击;2、服务器的桌面存在漏洞被黑客利用进行攻击;3、服务器搭建的网站程序,它的移动代码在网站上被广泛运用,如果被浏览器禁用则会造成Web运用失调;4、在服务器上轻易打开邮件中选用...
    99+
    2024-04-02
  • 韩国vps的ip为什么会被封
    韩国vps的ip被封原因有:1、使用韩国vps违反了机房所处国家的相关法律法规,导致IP地址被封;2、韩国vps被同行侵略控制,实施一些违法操作,导致IP地址被封;3、韩国vps遭受大规模流量攻击,攻击资源超出了机房承受能力,从而导致该ip...
    99+
    2024-04-02
  • 香港vps的IP为什么会被封
    香港vps的IP被封原因有:1、香港vps运营内容出现问题,导致IP被封,严重时会导致香港vps被关闭暂停使用;2、所使用的IP之前出现问题,如做一些不合法本地政策不允许的项目等;3、IP所属的IP段出现问题,导致IP被封;4、所使用的IP...
    99+
    2024-04-02
  • vps主机租用IP为什么被墙
    vps主机租用IP被墙的原因有:1、使用VPS主机IP搭建网站的版权内容,有出现侵害他人权利的情况,从而导致VPS主机IP被墙;2、注册的VPS主机IP存在历史不良记录,从而影响网站导致出现IP被墙的情况发生。具体内容如下:版权内容尤其是最...
    99+
    2024-04-02
  • 日本服务器为什么老被墙
    日本服务器老被墙的原因:1、在国内违反了网络安全规定从而被墙;2、违反使用日本服务器IP的相关规定被墙;3、黑客利用日本服务器的漏洞去做一些违法规定的操作导致服务器被墙;4、机房或服务器正在遭受DDOS、CC 等恶意网络流量攻击,为避免影响...
    99+
    2024-04-02
  • 为什么某些HTML元素被弃用
    这期内容当中小编将会给大家带来有关为什么某些HTML元素被弃用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。互联网已经存在了很长时间,并且随着时间的流逝,我们已经改变了对...
    99+
    2024-04-02
  • 美国服务器IP为什么被封
    美国服务器IP被封的原因有:1、美国服务器IP被大规模流量攻击导致被封;2、美国服务器IP正在遭受网络病毒导致机房管理人员暂时封停;3、美国服务器IP出现异常问题导致。具体内容如下:被流量攻击封堵导致美国服务器用户在使用主机时,必须要及时注...
    99+
    2024-04-02
  • 为什么网站备案会被取消
    网站备案被取消的原因有以下几点网站主体发生变更如网站主办者名称、网站主办者有效证件性质或证件号码、通讯地址或证件住所、网站负责人的名称、网站域名、网站名称发生了变更导致网站备案被取消。网站域名过期域名过期,且长时间没有续费,或域名实名信息不...
    99+
    2024-04-02
  • 服务器为什么会被dns劫持
    服务器被dns劫持的原因有以下几点服务器安全设置在服务器中使用开源程序上传文件时,不小心泄露了管理员密码等私密信息,导致出现dns劫持。系统安全级别服务器系统安全级别不高的话容易被黑客攻破,所以要提高操作系统的安全级别。操作行为不规范安全意...
    99+
    2024-04-02
  • 为什么云主机无法被连接
    云主机无法被连接可能是由于以下几个原因:1. 网络问题:云主机可能没有正确地配置网络设置,导致无法连接。可以尝试检查云主机的网络配置...
    99+
    2023-09-20
    云主机
  • 云服务器为什么会被攻击
    云服务器的攻击主要分为两种类型:勒索软件攻击和漏洞利用攻击。勒索软件攻击是指恶意软件通过加密文件的方式,将勒索要求的赎金要求发送到攻击者的账户。漏洞利用攻击是指攻击者利用云服务器的漏洞,入侵云服务器,并对其进行攻击。云服务器作为互联网的重要...
    99+
    2023-10-27
    服务器
  • 备案域名为什么会被注销
    备案域名会被注销的原因可能有以下几种: 未按规定完成备案手续:备案域名所有者未及时提交或完善备案资料,未通过备案审核,或者备案信...
    99+
    2024-04-22
    域名
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作