go 无法在模板执行的参数中使用输出(字符串类型)作为 io.Writer 类型

2023-12-02

在“go”中执行模板(在我的例子中为“tmpl html”)很容易操作系统标准输出但如何将其写入字符串“输出”,以便稍后我可以使用以下方式在邮件中发送 html"gopkg.in/gomail.v2" ?

var output string
    t := template.Must(template.New("html table").Parse(tmplhtml))
    err = t.Execute(output, Files)
m.SetBody("text/html", output) //"gopkg.in/gomail.v2"

构建错误读取'不能在 t.Execute 的参数中使用输出(字符串类型)作为 io.Writer 类型:字符串未实现 io.Writer(缺少 Write 方法)'我可以实现 Writer 方法,但它应该返回整数Write(p []byte) (n int, err 错误)


您需要按如下方式写入缓冲区,因为这实现了接口io.Writer。它基本上缺少一个 Write 方法,您可以构建自己的方法,但缓冲区更直接:

buf := new(bytes.Buffer)
t := template.Must(template.New("html table").Parse(tmplhtml))
err = t.Execute(buf, Files)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

go 无法在模板执行的参数中使用输出(字符串类型)作为 io.Writer 类型 的相关文章

  • golang导入结构体指针

    好的 我有一个主包和一个 http 处理程序包 本质上我想做的是设置一个全局结构 这样我就可以随时调用该结构中的信息 我尝试的示例的基本概要如下 主包导入处理函数 主包调用handlerfunc Handlerfunc 将 http Res
  • 无法封送,(实现encoding.BinaryMarshaler)。具有多个对象的 go-redis Sdd

    我有下面一段代码 我试图将一个数组添加到 redis 集中 但它给了我一个错误 package main import encoding json fmt github com go redis redis type Info struct
  • Bash脚本无法执行Go命令

    我正在尝试编写一个 bash 脚本来自动在不同的目录中运行 go get install 相关部分在这里 cd web go get cd web go install cd services go get cd services go i
  • 数据库连接最佳实践

    我有一个使用 net http 的应用程序 我使用 http 注册了一些处理程序 这些处理程序需要从数据库中获取一些内容 然后才能继续编写响应并完成请求 我的问题是连接到该数据库的最佳实践是什么 我希望它能够以每分钟 1 个请求或每秒 10
  • Golang、mysql:错误1040:连接过多

    我正在使用 github com go sql driver mysql 驱动程序 我打开一个数据库 db err sql Open mysql str 然后我有两个函数 每个函数被调用 200 次 并使用以下 mysql 代码 rows
  • java.lang.NoSuchMethodError:com.fasterxml.jackson.databind.type。使用 apache beam Spark runner 运行 go 示例时

    我想跑grades https github com apache beam tree master sdks go examples gradesapache beam go sdk 提出的示例 在一个主服务器和两个从服务器 spark2
  • 如何在 Go 中表示可选字符串?

    我希望建模一个可以有两种可能形式的值 不存在或字符串 执行此操作的自然方法是Maybe String or Optional
  • 取消用户特定的 goroutine [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个应用程序 网络应用程序 允许用户使用 twitter oauth 登录并提供自动推文删除功能 用户登录到 Web 应用程序后
  • 共享来自单独命令/进程的属性

    我提供带有多个命令和子命令的命令行工具 我使用cobra https github com spf13 cobra命令行 我有两个单独的命令首先是前提条件e 给其他人 例如第一个命令是通过创建临时文件夹并验证某些文件来首选环境 第二个命令应
  • 如何将未知字段类型的数据解组为 JSON

    我有这些 结构 type Results struct Gender string json gender Name struct First string json first Last string json last json nam
  • 按引用或按值扫描功能

    我有以下代码 statement SELECT id from source where mgmt 1 var exists string errUnique dr db QueryRow statement mgmt Scan exist
  • Golang 基础知识 struct 和 new() 关键字

    我正在学习 golang 当我阅读描述结构的章节时 我遇到了初始化结构的不同方法 p1 passport var p2 passport p3 passport Photo make byte 0 0 Name Scott Surname
  • 投射回更专业的界面

    我正在用 Go 编写一个游戏 在 C 中 我将所有实体类存储在 BaseEntity 类的数组中 如果一个实体需要在世界中移动 那么它将是一个从 BaseEntity 派生的 PhysEntity 但添加了方法 我尝试模仿这是 go pac
  • 如何在golang模板上打印JSON?

    我需要在客户端有一个对象 所以我使用 json marshal 将其转换为 JSON 并将其打印到模板中 该对象被打印为转义 JSON 字符串 我期待它是var arr o1 o2 但它是var arr o1 o2 我知道我可以在客户端进行
  • 在 IntelliJ IDEA 中运行。多个文件和错误未定义:数据

    我想使用 IntelliJ IDE 社区版编写代码GO Go语言 我安装了正确的插件 并安装了构建应用程序所需的所有工具 我的应用程序包含以下两个文件 每个都在目录中 事件服务器 Main go Data go 如果我想使用 Run Ctl
  • 我可以根据我正在构建的操作系统导入 Golang 包吗?

    假设我有一个基于哪个操作系统的 go 项目 在某些情况下是哪个发行版 我想使用 Systemd 客户端包 Upstart 客户端包 sysv 客户端包 launchd 客户端包 是否可以有选择地导入每个包 以便我只导入我正在构建的每个操作系
  • 错误“binary.Write:无效类型”是什么意思?

    下面显示的代码 我创建了一个结构类型并希望将其编码为二进制 但它显示binary Write invalid type main Stu错误 我读过一些类似的代码 但我找不到为什么我的代码不起作用 type Stu struct Name
  • GORM中的一对多递归关系

    我需要有一个Organization与父级有关系 像这样的事情 type Organization struct gorm Model Parent Organization gorm ForeignKey ParentId Name st
  • benchmem 的输出

    使用内存分析器运行基准测试时 我看到以下输出 SomeFunc 100 17768876 ns op 111 B op 0 allocs op 我不明白输出 0 allocs op 但分配了 111 B 知道这意味着什么吗 我的函数是否在堆
  • 是否可以使用 go:generate 重定向 stdin/stdout

    我有一个充当管道的工具 它从标准输入读取数据并将源代码写入标准输出 是否可以设置输入 输出重定向并将此类工具与 go generate 一起使用 就像是 go generate tool lt file txt gt file go 我想出

随机推荐

  • 使用参数在批处理文件中运行脚本

    我正在编写一个批处理文件 并在这个批处理文件中执行一个脚本 批处理文件 PowerShell NoProfile ExecutionPolicy Bypass Command Start Process PowerShell Argumen
  • svnkit,列出SVN存储库的所有文件,而不检出文件

    svnkit com 是一个SVNJava 中的库 例如 您可以获取SVN存储库的日志 如下所示 SVNClientManager newInstance getLogClient SVNLogClient doLog SVNURL url
  • 服务合约实现另一个接口

    请告诉我这是否可能 我有一个客户端 win 表单应用程序和一个 C 中的 wcf 应用程序 这是我的模型 共同项目 public interface IServiceA string DoWorkA 我没有在 Common 项目中使用 Se
  • Node.js 可读文件流未获取数据

    我正在尝试创建一个可读文件流 我可以从中读取各个字节 我正在使用下面的代码 var rs fs createReadStream file on open function var buff rs read 8 Read first 8 b
  • bash 命令中 !#:* !#:1- 的含义是什么?

    在以下 Bash 命令中 以下内容的含义是什么 1 echo This is a sentence 1 gt text3 它正在使用bash 的历史替换机制 具体来说 指当前行 直到但不包括 本身 是该行命令名称之后的部分 因此 在本例中
  • 如何从system();获取日志?

    有没有办法从 system 获取日志 就像我做的时候一样system open com apple nike 我应该得到Couldn t open application com apple nike Reason 8 applicatio
  • Visual Studio Code 使用 NVM 指定的节点版本

    VS Code 是否可以使用 NVM 指定的节点版本 我本地安装了6 9 2 即使切换到另一个版本后 从 OS X 终端 不是 VS Code 终端 重新启动 VS Code VS Code 仍然显示使用 6 9 2 OS X 终端 Mac
  • 在 R 中使用 for 循环进行卡方分析

    我正在尝试对数据中变量的所有组合进行卡方分析 我的代码是 Data lt esoph 1 3 OldStatistic lt NA for i in 1 ncol Data 1 for j in i 1 ncol Data Statisti
  • 为什么jquery中的同步ajax调用不支持超时?

    我正在读书herejquery 中的同步 ajax 调用不会超时 这是技术限制 还是只是作者不想支持的东西 当 ajax 调用是同步的时 实际上会发生什么 浏览器通过以下方式处理同步 异步请求XMLHttp请求API 但它没有内置的超时功能
  • Python 日志记录:INFO、DEBUG 日志未显示

    Python版本 2 7 我正在使用下面的代码在控制台上显示日志 但是 不显示 INFO 和 DEBUG 日志 Code import logging class LogTest def init self logger obj loggi
  • 通过 http 发送基本身份验证

    我正在尝试从需要基本身份验证的页面读取源代码 但是 在我的 HttpWebRequest 中使用标头甚至凭据 我仍然会返回未经授权的异常 401 string urlAddress URL string UserName MyUser st
  • 计算节点之间的路径长度(具有未知的边)?

    问题是如何在不知道边类型的情况下使用 sparql 查询计算三重存储 RDF 中两个节点 概念 之间的距离 本质上 就是使用Dijkstras algorithm 找到三重存储中两个概念之间的较短路径 如果我们知道边的类型 就有可能 计算节
  • 单列表迭代与多个列表理解

    我有一个数据列表 我需要将其中的一些元素复制到几个不同的列表中 对列表进行单次迭代或执行多个列表理解会更好吗 E g def split data data a b c for d in data if d 0 gt 1 a append
  • 如何将顶部和底部边框变为三角形?

    正如您在下图中看到的 我试图从底部和顶部扭曲或三角形我的 div 但我不知道该怎么做 我只是尝试了几次 但没有达到结果 那么我怎样才能使用after before psuedo呢 用 psuedo make 没关系 但我想知道该怎么做 这是
  • Android Studio 导致 Windows 8.1 崩溃

    自从我将我的电脑更新到 Windows 8 1 后 当我启动 Android Studio 并运行一个我正在测试的简单应用程序时 我收到一个 其中包含 ritic struct error 强制我的核心 i7 重新启动 当我注意到我的磁盘在
  • 用于匹配 ISO 8601 日期时间字符串的正则表达式

    有人有一个好的正则表达式模式来匹配 iso 日期时间吗 即 2010 06 15T00 00 00 对于严格的 完整的日期时间 包括毫秒 每W3C 对规范的看法 Complete precision d 4 01 d 0 3 dT 0 2
  • React 中无用的构造函数是什么?

    我有两个文件 Description js and subjects js subject js 文件包含主题数组 export const Subjects id 1 title Mathematics text Cheat Sheet
  • Shell脚本多行注释

    我有一个很大的 shell 脚本文件 有时在进行修改时我想注释掉其中的一部分 但如下例所示的注释行给了我错误 Script bin bash lt
  • 从文本文件中读取特定行[重复]

    这个问题在这里已经有答案了 可能的重复 使用 PHP 在一个大文件中获取一行 我有一个大约 200 行的文件文本 我想从此文本文件中读取特定行 我该怎么做 谢谢 未经测试 function getline file linenum line
  • go 无法在模板执行的参数中使用输出(字符串类型)作为 io.Writer 类型

    在 go 中执行模板 在我的例子中为 tmpl html 很容易操作系统标准输出但如何将其写入字符串 输出 以便稍后我可以使用以下方式在邮件中发送 html gopkg in gomail v2 var output string t te