婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > golang官方嵌入文件到可執(zhí)行程序的示例詳解

golang官方嵌入文件到可執(zhí)行程序的示例詳解

熱門標簽:宿遷便宜外呼系統(tǒng)代理商 鄭州智能語音電銷機器人價格 仙桃400電話辦理 寧波語音外呼系統(tǒng)公司 不封卡外呼系統(tǒng) 上海極信防封電銷卡價格 湛江crm外呼系統(tǒng)排名 重慶慶云企業(yè)400電話到哪申請 地圖標注免費定制店

前言

在go官方出嵌入文件的方法前我在網(wǎng)上找過,并且自己還研究過,雖然沒有問題,但是既然官方支持還是用起來吧。
看了下go源碼embed/embed.go很簡單,并且看embed/internal/embedtest/embed_test.go就知道如何使用。

示例程序

嵌入文件直接訪問

原理是使用go:embed標簽來完成。下面是直接讀取文件內容,需要注意下面幾點。
文件不是utf8編碼時,輸出內容為中文會亂碼。
測試過嵌入文件只能為源碼文件同級目錄和子目錄下的文件,試過其他目錄的絕對路徑或相對路徑會報錯。
我測試過幾個能想到的場景,有些會報錯,所以在使用時需要注意。

package main
 
import (
  _ "embed"
)
 
//go:embed test.txt
var testString string // 當前目錄,解析為string類型
 
//go:embed test.txt
var testByte []byte // 當前目錄,解析為[]byte類型
 
//go:embed test/test.txt
var testAbsolutePath string // 子目錄,解析為string類型
 
//go:embed notExistsFile
var testErr0 string // 文件不存在,編譯報錯:pattern notExistsFile: no matching files found
 
//go:embed dir
var testErr1 string // dir是目錄,編譯報錯:pattern dir: cannot embed directory dir: contains no embeddable files
 
//go:embed ../test.txt
var testErr2 string // 相對路徑,不是當前目錄或子目錄,編譯報錯:pattern ../test.txt: invalid pattern syntax
 
//go:embed D:\test.txt
var testErr3 string // 絕對路徑,編譯報錯:pattern D:\test.txt: no matching files found
 
func main() {
  println(testString)
  println(string(testByte))
  println(testAbsolutePath)
}

嵌入文件列表

package main
 
import (
  "embed"
  "io"
  "os"
)
 
//go:embed test0.txt test1.txt test1*.txt
//go:embed test/test0.txt test/test1.txt
//go:embed test0
var fileList embed.FS
/*
使用上述方法可以將多個文件或目錄添加到fileList中。
1. 添加多個文件,且支持"*"號通配文件。
2. 支持子目錄文件。
3. 支持嵌入一個目錄。
*/
 
func main() {
  testDir, err := fileList.ReadDir("test0")
  if err != nil {
    panic(err)
  }
  for _, v := range testDir {
    println(v.Name()) // 打印嵌入的目錄內容
  }
 
  // 使用fileList.Open可以生成一個對象,可以通過文件流那樣讀出來
  testFile, err := fileList.Open("test0.txt")
  if err != nil {
    panic(err)
  }
  io.Copy(os.Stdout, testFile)
 
  testFile, err = fileList.Open("test112.txt")
  if err != nil {
    panic(err)
  }
  io.Copy(os.Stdout, testFile)
 
  testFile, err = fileList.Open("test/test1.txt")
  if err != nil {
    panic(err)
  }
  io.Copy(os.Stdout, testFile)
 
  // 直接將文件內容讀出來
  data, err := fileList.ReadFile("test111.txt")
  if err != nil {
    panic(err)
  }
  println(string(data))
}

總結

今天看到go1.16發(fā)布,看了下特性,支持嵌入文件到可執(zhí)行程序中,所以研究了一下。
我發(fā)現(xiàn)直接看源碼的_test測試文件就知道是如何使用的,都不需要到處搜教程。
所以說學習要知其然且知其所以然,不然天天搜別人的示例代碼,卻不知道原理,是不能靈活使用的。

到此這篇關于golang官方嵌入文件到可執(zhí)行程序的文章就介紹到這了,更多相關golang嵌入文件到可執(zhí)行程序內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Go語言中嵌入C語言的方法
  • Go語言中的方法、接口和嵌入類型詳解

標簽:儋州 西雙版納 青海 海南 遼寧 安康 物業(yè)服務 電子產(chǎn)品

巨人網(wǎng)絡通訊聲明:本文標題《golang官方嵌入文件到可執(zhí)行程序的示例詳解》,本文關鍵詞  golang,官方,嵌入,文件,到,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《golang官方嵌入文件到可執(zhí)行程序的示例詳解》相關的同類信息!
  • 本頁收集關于golang官方嵌入文件到可執(zhí)行程序的示例詳解的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    色婷婷亚洲一区二区三区| 亚洲少妇30p| 久久99精品久久久久久动态图 | 午夜精彩视频在线观看不卡| 国产另类ts人妖一区二区| 欧美色大人视频| 亚洲不卡一区二区三区| 在线观看日韩国产| 亚洲图片欧美视频| 91麻豆精品国产无毒不卡在线观看| 一片黄亚洲嫩模| 91亚洲国产成人精品一区二区三| 26uuu亚洲| 成人久久视频在线观看| 亚洲人成亚洲人成在线观看图片| 成人av资源在线| 午夜精品久久一牛影视| 在线电影欧美成精品| 国产伦理精品不卡| 亚洲va韩国va欧美va| 国产午夜精品久久久久久免费视 | 一区二区在线观看av| 欧美色电影在线| 国产成人av一区| 美日韩黄色大片| 中文字幕中文字幕在线一区 | 午夜精品福利久久久| 在线免费不卡视频| 粉嫩欧美一区二区三区高清影视| 亚洲黄色小说网站| 国产情人综合久久777777| 欧美日韩一区二区三区在线 | 麻豆91在线播放免费| 中文字幕亚洲电影| 国产午夜精品理论片a级大结局| 欧美精品 日韩| 欧美三级视频在线播放| 色婷婷久久一区二区三区麻豆| 国产久卡久卡久卡久卡视频精品| 日本成人在线视频网站| 亚洲色欲色欲www| 一区在线观看免费| 国产女主播视频一区二区| 久久亚洲精华国产精华液| 欧美成人vr18sexvr| 精品理论电影在线观看 | 麻豆91在线观看| 美女视频免费一区| 蜜桃久久av一区| 亚洲成人手机在线| 日本女人一区二区三区| 日本欧美一区二区三区乱码| 午夜精彩视频在线观看不卡| 日日骚欧美日韩| 精品夜夜嗨av一区二区三区| 欧美日韩免费一区二区三区| 精品国产a毛片| 中文字幕成人av| 亚洲午夜电影网| 波多野结衣精品在线| 99国产精品99久久久久久| 欧美一区二区三区不卡| 综合电影一区二区三区| 亚洲成人综合在线| 国产精品一区二区视频| 日韩欧美国产一区在线观看| 久久中文娱乐网| 亚洲永久精品国产| 福利电影一区二区三区| 欧美挠脚心视频网站| 亚洲日本丝袜连裤袜办公室| 精品一区二区在线观看| 91一区二区三区在线观看| 中文字幕欧美激情| 国产激情视频一区二区三区欧美 | 欧美日韩免费一区二区三区| 久久精品水蜜桃av综合天堂| 同产精品九九九| 国产美女精品一区二区三区| 欧美视频你懂的| 最近中文字幕一区二区三区| 国产在线精品免费| 久久久不卡影院| 奇米亚洲午夜久久精品| 日韩精品一区二区三区四区视频| 免费久久精品视频| 1区2区3区国产精品| 色婷婷综合久久久中文字幕| 中文字幕中文字幕中文字幕亚洲无线| 精品午夜久久福利影院| 亚洲午夜国产一区99re久久| 综合久久国产九一剧情麻豆| 亚洲欧洲中文日韩久久av乱码| 中文字幕亚洲在| 亚洲国产成人va在线观看天堂| 中文字幕一区二区三区四区 | www.视频一区| 91小视频在线观看| 日韩欧美成人激情| 亚洲欧美日韩久久精品| 亚洲成人高清在线| 国产精品一区久久久久| 日本韩国欧美一区二区三区| 日韩你懂的在线播放| 成人欧美一区二区三区在线播放| 青青草原综合久久大伊人精品优势| 国产在线播放一区| 欧美日免费三级在线| 精品国产麻豆免费人成网站| 1024精品合集| 麻豆高清免费国产一区| 色哟哟精品一区| 欧美精品一区二区三区蜜臀| 一区二区三区欧美久久| 国产成a人亚洲| 日韩一区二区电影网| **网站欧美大片在线观看| 欧美aaa在线| 欧美亚洲综合久久| 亚洲视频一区在线观看| 国产一区美女在线| 欧美日韩成人一区二区| 国产亚洲污的网站| 日韩国产欧美视频| 成人av电影免费在线播放| 欧美一区二区三区免费大片| 一级做a爱片久久| fc2成人免费人成在线观看播放| 欧美二区三区的天堂| 中文字幕亚洲电影| 国产真实精品久久二三区| 欧美日韩亚洲综合在线| 国产精品成人一区二区艾草| 日韩电影在线一区| 99re免费视频精品全部| 精品国产一区二区三区忘忧草| 性感美女久久精品| 一本色道久久综合亚洲aⅴ蜜桃| 亚洲精品一线二线三线无人区| 丝袜亚洲另类丝袜在线| 99精品视频中文字幕| 91精品国产色综合久久不卡蜜臀| 亚洲天堂免费在线观看视频| 91在线高清观看| 亚洲图片另类小说| 91蝌蚪porny| 国产精品久久久久永久免费观看 | 日本中文字幕一区二区有限公司| 欧美视频精品在线观看| 亚洲成av人在线观看| 91精品国产综合久久精品图片| 欧美视频一区二区在线观看| 亚洲国产精品尤物yw在线观看| 色综合久久久网| 夜夜嗨av一区二区三区中文字幕| 欧美视频一区在线观看| 视频一区欧美日韩| 精品国产乱码久久久久久久| 国内精品伊人久久久久av影院| 欧美精品一区二| 国产盗摄一区二区三区| 亚洲欧洲国产专区| 欧美在线一区二区| 蜜桃免费网站一区二区三区| 久久久久9999亚洲精品| 99久久99久久精品免费看蜜桃| 久久午夜羞羞影院免费观看| 国产精品91xxx| 一区二区三区**美女毛片| 在线观看区一区二| 免费高清不卡av| 国产性天天综合网| 一本一本大道香蕉久在线精品| 亚洲国产精品精华液网站| 日韩亚洲欧美一区| 丁香亚洲综合激情啪啪综合| 亚洲色图色小说| 欧美亚洲另类激情小说| 裸体歌舞表演一区二区| 国产精品网站在线观看| 91国偷自产一区二区三区观看| 亚洲图片欧美色图| 日韩小视频在线观看专区| 不卡电影一区二区三区| 日本亚洲电影天堂| 中文字幕的久久| 在线观看网站黄不卡| 麻豆精品在线视频| 欧美国产日韩亚洲一区| 色香色香欲天天天影视综合网| 久久99国产精品麻豆| 亚洲午夜久久久久久久久电影网 | 丝袜美腿高跟呻吟高潮一区| 久久久国产精品麻豆| 日本高清免费不卡视频| 国产麻豆日韩欧美久久| 另类的小说在线视频另类成人小视频在线| 亚洲欧洲精品成人久久奇米网| 精品国内片67194| 欧美高清视频www夜色资源网|