广告
返回顶部
首页 > 资讯 > 后端开发 > 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://www.lsjlt.com/news/596824.html(转载时请注明来源链接)

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

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

  • 微信公众号

  • 商务合作