Golang:使用embed引入静态文件

Go 语言从 1.16 版本开始引入了一个新的标准库 embed,可以在二进制文件中引入静态文件

指令:/go:embed

通过一个简单的小实例,来演示将静态文件引入到golang的二进制打包产物中

项目结构

$ tree
.
├── main.go
└── static└── hello.txt

hello.txt 文件内容

Hello World!

main.go

1、引入静态文件的内容到变量

package mainimport ("embed""fmt"
)// 引入静态文件的内容到变量content
//go:embed static/hello.txt
var content string// 注意需要这个语句,虽然没有用到,可以引入整个目录的文件
//go:embed static/*
var tmplFS embed.FSfunc main() {fmt.Println(content)
}

输出

Hello World!

2、引入整个目录内所有文件

package mainimport ("embed""fmt"
)//go:embed static/*
var tmplFS embed.FSfunc main() {// 读取文件内容content, _ := tmplFS.ReadFile("static/hello.txt")fmt.Println(string(content))// Hello World!
}

将打包产物拷贝到其他任意目录运行,也可以读取到静态文件内容

# 编译
$ go build main.go# 拷贝到其他任意目录运行
./main
Hello World!

需要注意:

  1. 要引入包embed
  2. //go:embed 是一个整体,双斜杆后面不能有空格,例如:// go:embed是无效的

扩展:前后端分离的项目中,可以通过该方式,将前端的打包产物内嵌到golang的二进制打包产物中,一起发布

参考

  • Go实验室:每周一更|利用embed引入静态文件

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

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

相关文章

max6675热电偶温度采集

思路来源 参考价格 概述 MAX6675具有冷端补偿和将来自K型热电偶的信号数字化。数据以12位分辨率输出,SPI™兼容, 只读格式。该转换器将温度分解为0.25C,允许读数高达1024C,并显示热电偶8LSB在0C至 700C 引脚连接 温度采样电路 …

中间件复习之-消息队列

消息队列在分布式架构的作用 消息队列:在消息的传输过程中保存消息的容器,生产者和消费者不直接通讯,依靠队列保证消息的可靠性,避免了系统间的相互影响。 主要作用: 业务解耦异步调用流量削峰 业务解耦 将模块间的…

python中正则表达式学习

文章目录 介绍基本语法常用函数捕获组和命名组非捕获组贪婪匹配和非贪婪匹配多行模式和点匹配所有模式示例总结 介绍 Python 中的正则表达式(regular expressions, 简称 regex)由 re 模块提供。正则表达式是一种用于匹配字符串的强大工具,常…

MySQL之创建高性能的索引(八)

创建高性能的索引 覆盖索引 通常大家都会根据查询的WHERE条件来创建合适的索引,不过这只是索引优化的一个方面。设计优秀的索引应该考虑到整个查询,而不单单是WHERE条件部分。索引确实是一种查找数据的高效方式,但是MySQL也可以使用索引来直…

向量数据库引领 AI 创新——Zilliz 亮相 2024 亚马逊云科技中国峰会

2024年5月29日,亚马逊云科技中国峰会在上海召开,此次峰会聚集了来自全球各地的科技领袖、行业专家和创新企业,探讨云计算、大数据、人工智能等前沿技术的发展趋势和应用场景。作为领先的向量数据库技术公司,Zilliz 在本次峰会上展…

【漏洞复现】电信网关配置管理系统 rewrite.php 文件上传漏洞

0x01 产品简介 中国电信集团有限公司(英文名称"China Telecom”、简称“"中国电信”)成立于2000年9月,是中国特大型国有通信企业、上海世博会全球合作伙伴。电信网关配置管理系统是一个用于管理和配置电信网络中网关设备的软件系统。它可以帮助网络管理员…

在线IP检测如何做?代理IP需要检查什么?

当我们的数字足迹无处不在,隐私保护显得愈发重要。而代理IP就像是我们的隐身斗篷,让我们在各项网络业务中更加顺畅。 我们常常看到别人购买了代理IP服务后,通在线检测网站检查IP,相当于一个”售前检验““售后质检”的作用。但是…

2024-5-31 石群电路-19

2024-5-31,星期五,10:53,天气:阴雨,心情:晴。今天就要回学校啦,当大家看到这篇推文的时候我已经要收拾收拾去赶返校的火车啦,和女朋友短暂分别,不过小别胜新婚吗&#xf…

css动画效果(边框流光闪烁阴影效果)

1.整体效果 https://mmbiz.qpic.cn/sz_mmbiz_gif/EGZdlrTDJa7odDQYuaatklJUMc5anU10PWLAt14rNnNUD6oHJG9U63fc0yibiapuDViatVk62ma3K63oqQ3U1VtMQ/640?wx_fmtgif&fromappmsg&wxfrom13 CSS边框流光闪烁阴影动画效果是一种令人印象深刻的技术,它通过动态的光…

笔记-docker基于ubuntu22.04安装Jitsi Meet

背景 利用JitsiMeet打造一个可以在线会议的环境,根据躺的坑,做个记录 参考 JitsMeet部署安装说明 开始操作 环境 docker run -it --name ubuntu22.04 ubuntu:22.04 /bin/bash问题 1、安装 openjdk-11 apt install openjdk-11-jdk配置环境变量&…

es初始化

一.初始化es public void initES() {/*LOGGER.info("host" host);LOGGER.info("port" port);LOGGER.info("scheme" scheme);LOGGER.info("userName" userName);LOGGER.info("password" password);*/// 客户端连接创建…

自媒体必用的50 个最佳 ChatGPT 社交媒体帖子提示prompt通用模板教程

在这个信息爆炸的时代,社交媒体已经成为我们生活中不可或缺的一部分。无论是品牌宣传、个人展示,还是日常交流,我们都离不开它。然而,要在众多信息中脱颖而出,吸引大家的关注并不容易。这时候,ChatGPT这样的…

uniapp的tooltip功能放到表单laber

在uniapp中,tooltip功能通常是通过view组件的hover-class属性来实现的,而不是直接放在form的label上。hover-class属性可以定义当元素处于hover状态时的样式类,通过这个属性,可以实现一个类似tooltip的效果。 以下是一个简单的例…

代码随想录35期Day56-Java

Day56题目 LeetCode647回文子串的数量 核心思想:使用数组dp[i][j]表示s从i到j是否是回文串 class Solution {public int countSubstrings(String s) {// dp[i][j] 表示s从i到j是不是回文串boolean[][] dp new boolean[s.length()][s.length()];for(int i 0 ; i < s.len…

跨境经营的艺术:中资企业海外市场售后服务创新与挑战

出海&#xff0c;已不再是企业的“备胎”&#xff0c;而是必须面对的“大考”&#xff01;在这个全球化的大潮中&#xff0c;有的企业乘风破浪&#xff0c;勇攀高峰&#xff0c;也有的企业在异国他乡遭遇了“水土不服”。 面对“要么出海&#xff0c;要么出局”的抉择&#xff…

JavaScript笔记一-初识JavaScript

1、JavaScript的起源 JavaScript诞生于1995年&#xff0c;它的出现主要是用于处理网页中的前端验证。所谓的前端验证&#xff0c;就是指检查用户输入的内容是否符合一定的规则。比如&#xff1a;用户名的长度&#xff0c;密码的长度&#xff0c;邮箱的格式等。 2、JavaScript…

一分钟学习数据安全——自主管理身份SSI基本概念

之前我们已经介绍过数字身份的几种模式。其中&#xff0c;分布式数字身份模式逐渐普及演进的结果就是自主管理身份&#xff08;SSI&#xff0c;Self-Sovereign Identity&#xff09;。当一个人能够完全拥有和控制其数字身份&#xff0c;而无需依赖中心化机构&#xff0c;这就是…

FreeRTOS实时系统 在任务中增加数组等相关操作 导致单片机起不来或者挂掉

在调试串口任务中增加如下代码&#xff0c;发现可以用keil进行仿真&#xff0c;但是烧录程序后&#xff0c;调试串口没有打印&#xff0c;状态灯也不闪烁&#xff0c;单片机完全起不来 博主就纳了闷了&#xff0c;究竟是什么原因&#xff0c;这段代码可是公司永流传的老代码了&…

香橙派OrangePi AIpro上手笔记——之USB摄像头目标检测方案测试(三)

整期笔记索引 香橙派OrangePi AIpro上手笔记——之USB摄像头目标检测方案测试&#xff08;一&#xff09; 香橙派OrangePi AIpro上手笔记——之USB摄像头目标检测方案测试&#xff08;二&#xff09; 香橙派OrangePi AIpro上手笔记——之USB摄像头目标检测方案测试&#xff08;…

【MySQL数据库】:MySQL复合查询

目录 基本查询回顾 多表查询 自连接 子查询 单行子查询 多行子查询 多列子查询 在from子句中使用子查询 合并查询 前面我们讲解的mysql表的查询都是对一张表进行查询&#xff0c;在实际开发中这远远不够。 基本查询回顾 【MySQL数据库】&#xff1a;MySQL基本查…