亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

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

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

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

前言

在go官方出嵌入文件的方法前我在網上找過,并且自己還研究過,雖然沒有問題,但是既然官方支持還是用起來吧。
看了下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發布,看了下特性,支持嵌入文件到可執行程序中,所以研究了一下。
我發現直接看源碼的_test測試文件就知道是如何使用的,都不需要到處搜教程。
所以說學習要知其然且知其所以然,不然天天搜別人的示例代碼,卻不知道原理,是不能靈活使用的。

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

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

標簽:儋州 西雙版納 青海 海南 遼寧 安康 物業服務 電子產品

巨人網絡通訊聲明:本文標題《golang官方嵌入文件到可執行程序的示例詳解》,本文關鍵詞  golang,官方,嵌入,文件,到,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《golang官方嵌入文件到可執行程序的示例詳解》相關的同類信息!
  • 本頁收集關于golang官方嵌入文件到可執行程序的示例詳解的相關信息資訊供網民參考!
  • 推薦文章
    欧美激情一区二区三区在线 | 韩国毛片基地| 中文字幕97| 国产原创中文字幕| 国产精品123| 91麻豆精品国产自产在线| 亚洲www美色| 久久久久久久免费视频| 国产亚洲精品aaa大片| 青青久久国产成人免费网站| 韩国三级视频网站| 欧美大片毛片aaa免费看| 国产视频一区在线| 四虎久久影院| 精品国产三级a∨在线观看| 欧美一级视频免费| 日本在线不卡视频| 久久久成人影院| 国产一区精品| 国产国产人免费视频成69堂| 四虎影视久久久| 日韩专区一区| 999久久66久6只有精品| 国产亚洲精品aaa大片| 欧美激情一区二区三区视频| 日韩中文字幕在线播放| 国产一区二区精品尤物| 精品国产三级a∨在线观看| 久久久久久久网| 精品视频在线观看免费| 二级特黄绝大片免费视频大片| 你懂的国产精品| 99热视热频这里只有精品| 亚洲爆爽| 国产精品自拍亚洲| 尤物视频网站在线观看| 国产精品自拍在线| 欧美激情在线精品video| 久久99中文字幕| 国产欧美精品午夜在线播放| 国产亚洲精品aaa大片| 一本高清在线| 国产一区精品| 国产美女在线观看| 国产精品自拍亚洲| 欧美激情一区二区三区在线 | 国产不卡精品一区二区三区| 一本高清在线| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 精品国产一区二区三区久久久狼| 国产原创中文字幕| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 日韩一级黄色大片| 成人在免费观看视频国产| 一级女性全黄生活片免费| 欧美另类videosbestsex视频| 亚洲女初尝黑人巨高清在线观看| 韩国三级香港三级日本三级la | 99色视频在线| 99久久网站| 欧美激情一区二区三区在线播放| 国产一区二区精品| 国产伦久视频免费观看视频| 欧美另类videosbestsex视频| 欧美一级视频免费| 国产a一级| 日韩在线观看视频网站| 日韩中文字幕在线观看视频| 国产视频久久久| 日本伦理黄色大片在线观看网站| 国产视频一区二区在线播放| 深夜做爰性大片中文| 麻豆网站在线看| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 精品国产一区二区三区久久久狼| 免费毛片播放| 国产麻豆精品视频| 国产91精品一区| 尤物视频网站在线观看| 国产美女在线观看| 欧美a级片免费看| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 国产一区二区精品尤物| 久久精品人人做人人爽97| 国产麻豆精品hdvideoss| 91麻豆精品国产片在线观看| 精品视频在线观看视频免费视频| 精品国产一区二区三区免费 | 国产不卡高清| 久久国产精品只做精品| 中文字幕一区二区三区 精品| 色综合久久天天综合绕观看| 国产视频一区在线| 国产国产人免费视频成69堂| 成人a大片高清在线观看| 欧美一级视频免费| 欧美大片毛片aaa免费看| 精品国产一区二区三区久久久狼| 91麻豆精品国产片在线观看| 91麻豆高清国产在线播放| 精品国产一级毛片| 精品久久久久久中文字幕一区| 国产伦久视频免费观看视频| 黄色福利片| 久久精品免视看国产明星| 精品国产一区二区三区久久久狼| 麻豆午夜视频| 韩国毛片免费大片| 欧美大片毛片aaa免费看| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 精品国产一区二区三区免费 | 美女免费毛片| 国产成人欧美一区二区三区的| 国产成人欧美一区二区三区的| 青青久久国产成人免费网站| 欧美激情一区二区三区中文字幕| 九九九国产| 日韩在线观看视频黄| 欧美大片a一级毛片视频| 99久久网站| 国产一区二区精品| 青青青草影院| 天天做日日干| 精品在线观看一区| 久久精品免视看国产明星| 国产91丝袜高跟系列| 国产不卡精品一区二区三区| 99热精品一区| 国产伦久视频免费观看视频| 日韩一级黄色大片| 香蕉视频久久| 国产91精品一区| 国产网站在线| 亚久久伊人精品青青草原2020| 欧美爱色| 精品国产一级毛片| 欧美激情一区二区三区中文字幕| 99久久精品国产国产毛片| 九九免费精品视频| 国产一区二区精品在线观看| 亚洲第一色在线| 欧美激情在线精品video| 国产91丝袜高跟系列| 国产国产人免费视频成69堂| 国产麻豆精品视频| 国产91丝袜高跟系列| 国产成a人片在线观看视频| 亚洲第一页色| 日韩在线观看免费| 精品视频免费在线| 99久久精品费精品国产一区二区| 亚洲 欧美 成人日韩| 日本特黄一级| 亚洲精品影院一区二区| 国产欧美精品午夜在线播放| 欧美α片无限看在线观看免费| 国产成人精品综合| 亚洲第一页色| 欧美一级视频免费| 黄视频网站在线免费观看| 精品国产亚洲人成在线| 亚洲 国产精品 日韩| 国产精品免费精品自在线观看| 99热精品一区| 国产麻豆精品hdvideoss| 国产高清在线精品一区二区| 日本在线www| 日本在线www| 欧美大片毛片aaa免费看| 一级毛片视频免费| 毛片的网站| 国产网站免费观看| 欧美激情一区二区三区视频| 亚欧乱色一区二区三区| 精品国产一区二区三区精东影业| 成人在免费观看视频国产| 精品视频免费在线| 精品视频在线看 | 欧美a级片免费看| 青青久久国产成人免费网站| 国产国语在线播放视频| 四虎久久影院| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 免费毛片播放| 99久久精品国产免费| 日本免费乱人伦在线观看| 亚洲精品中文一区不卡| 青青久久网| 国产精品自拍在线| 91麻豆精品国产自产在线| 日韩一级黄色大片| 日本特黄一级| 亚洲第一色在线| 久久久成人影院| 青青久久国产成人免费网站| 99久久精品国产国产毛片| 亚洲女初尝黑人巨高清在线观看| a级精品九九九大片免费看| 青青久久国产成人免费网站| 天天做日日干|