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

主頁 > 知識庫 > 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官方嵌入文件到可執行程序的示例詳解的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲影视资源网| 91麻豆精品久久久久蜜臀| 成+人+亚洲+综合天堂| 99久久婷婷国产精品综合| 在线观看日韩一区| 91麻豆国产自产在线观看| 3atv在线一区二区三区| 欧美激情一区在线观看| 婷婷中文字幕一区三区| 国产大片一区二区| 东方aⅴ免费观看久久av| 欧洲精品在线观看| 国产午夜精品久久| 日韩在线观看一区二区| 99精品国产视频| 亚洲精品一区二区三区99| 国产亚洲欧洲997久久综合| 亚洲一区在线视频观看| av高清不卡在线| 91精品综合久久久久久| 亚洲精品视频一区| 国产东北露脸精品视频| 欧美一级二级三级蜜桃| 亚洲一区中文在线| av亚洲精华国产精华| 久久久精品影视| 亚洲激情成人在线| 不卡av电影在线播放| 国产日韩欧美精品一区| 美女高潮久久久| 欧美另类变人与禽xxxxx| 亚洲青青青在线视频| 成人理论电影网| 国产亚洲欧美中文| 国产综合一区二区| 欧美中文一区二区三区| 亚洲欧美日韩中文字幕一区二区三区| 国产一二精品视频| 久久综合久久久久88| 免费在线观看成人| 欧美亚洲综合一区| 又紧又大又爽精品一区二区| 成人av片在线观看| 国产精品丝袜久久久久久app| 国产老妇另类xxxxx| 91精品婷婷国产综合久久性色| 亚洲.国产.中文慕字在线| 欧美影院精品一区| 一个色在线综合| 欧美亚洲一区二区三区四区| 国产精品九色蝌蚪自拍| 成人激情黄色小说| 国产精品久久久久久久久搜平片 | 精品少妇一区二区三区在线播放| 午夜精彩视频在线观看不卡| 欧美伊人久久久久久久久影院| 亚洲综合一区二区三区| 粉嫩久久99精品久久久久久夜 | 欧美国产日韩在线观看| 粉嫩av一区二区三区| 国产精品福利一区| 色屁屁一区二区| 午夜欧美大尺度福利影院在线看 | 国产婷婷一区二区| 成人免费精品视频| 日韩一区中文字幕| 欧美视频日韩视频| 免费久久精品视频| 欧美国产一区在线| 欧美婷婷六月丁香综合色| 日韩福利视频导航| 久久精品视频免费| 一本色道久久综合狠狠躁的推荐| 亚洲国产成人av网| 欧美一区二区三区成人| 国产盗摄女厕一区二区三区| 久久久久久久久久久电影| 成人免费视频免费观看| 一区二区成人在线| 欧美tk—视频vk| av电影一区二区| 日韩av午夜在线观看| 中文字幕 久热精品 视频在线 | 久久66热偷产精品| 国产精品成人午夜| 日韩一区二区三区av| 不卡视频在线观看| 蜜桃在线一区二区三区| 亚洲视频电影在线| 日韩欧美激情一区| 色综合天天综合狠狠| 精品一区二区三区久久久| 中文字幕一区二区三区不卡 | 成人中文字幕合集| 日韩精品久久久久久| 国产精品污www在线观看| 精品久久久久久久一区二区蜜臀| 欧美日本一道本| 色欧美片视频在线观看| 91色视频在线| 色伊人久久综合中文字幕| 99re亚洲国产精品| av电影在线观看完整版一区二区| 国产a区久久久| 国产99精品国产| 粉嫩高潮美女一区二区三区| 国产盗摄一区二区| 国产成人亚洲综合a∨婷婷| 国产精品一区在线观看乱码| 国产精品一品二品| 国产福利一区二区三区视频在线| 国产在线视视频有精品| 国产麻豆成人精品| 国产jizzjizz一区二区| 国产suv精品一区二区883| 国产99久久久国产精品潘金网站| 高清在线成人网| 成人av网址在线观看| 色综合色综合色综合| 色吊一区二区三区| 欧美日韩亚洲综合| 91精品国产一区二区| 欧美草草影院在线视频| 国产亚洲欧美日韩俺去了| 国产精品久久久久久久久晋中 | 久久久精品人体av艺术| 久久亚洲一区二区三区明星换脸| 国产日韩欧美高清| 18欧美乱大交hd1984| 亚洲第一福利视频在线| 日本美女一区二区三区视频| 精品一区二区在线观看| 成人精品免费网站| 91一区二区三区在线播放| 欧美日韩国产电影| 久久色视频免费观看| 中文字幕日韩一区| 亚洲成a人片综合在线| 国产一区免费电影| 99re热视频这里只精品 | 99久久免费视频.com| 欧美日韩一区中文字幕| 精品国产91久久久久久久妲己| 国产欧美日韩在线看| 一卡二卡三卡日韩欧美| 国产一区三区三区| 91国产精品成人| 欧美草草影院在线视频| 亚洲三级电影网站| 美脚の诱脚舐め脚责91 | 91免费国产在线| 91精品国产综合久久香蕉麻豆| 国产拍揄自揄精品视频麻豆| 亚洲国产精品久久艾草纯爱| 国产激情偷乱视频一区二区三区 | 成人免费观看av| 欧美老肥妇做.爰bbww| 国产精品久久久久一区二区三区 | 欧美日韩久久一区| 国产免费观看久久| 免费观看91视频大全| 99亚偷拍自图区亚洲| 欧美成人aa大片| 亚洲成年人网站在线观看| 99国产麻豆精品| 久久影院电视剧免费观看| 日韩成人午夜电影| 91麻豆精品一区二区三区| 国产欧美日韩在线看| 久久精品99久久久| 欧美日韩日日夜夜| 亚洲色图20p| 成人av电影在线| 国产欧美日韩在线看| 国产在线不卡一区| 欧美一区二区三区爱爱| 亚洲一二三区不卡| 99国产精品国产精品久久| 亚洲国产精品99久久久久久久久 | 亚洲视频小说图片| 福利一区福利二区| 久久久久久久久岛国免费| 久久国产精品99精品国产 | 国产一区二区三区免费观看| 91精品国产91久久久久久一区二区 | 色综合一个色综合| 国产精品国产三级国产三级人妇 | 国产嫩草影院久久久久| 国产精品亚洲第一区在线暖暖韩国 | 国产美女av一区二区三区| 亚洲视频一区二区在线观看| 91福利国产精品| 亚洲乱码一区二区三区在线观看| hitomi一区二区三区精品| 国产精品久久久久久亚洲毛片| 成人免费av资源| 国产精品久久一卡二卡| 成人免费观看视频| 国产精品久久夜| 91久久香蕉国产日韩欧美9色|