最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

go語言編程二維碼生成及識別

 更新時間:2022年04月28日 18:42:46   作者:Clown95  
這篇文章主要為大家介紹了go語言編程二維碼的生成及識別示例演示,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

我們在做go web開發(fā)的時候,應該都遇到生成二維碼分享的應用場景,下面我將介紹下使用go如何生成二維碼。

安裝 go-qrcode

我們不得不慶幸go的生態(tài)已經越來越豐富,有很多大牛已經幫我們寫好了庫,我們不必造輪子,直接拿過來用就好。

首先,我們安裝我們用到的go-qrcode庫。

https://github.com/skip2/go-qrcode/

go get -u github.com/skip2/go-qrcode/…

生成普通二維碼

使用了這個庫,你會發(fā)現(xiàn)二維碼生成原來是如此的簡單,現(xiàn)在我們就來演示一下。

package main
import "github.com/skip2/go-qrcode"
func main() {
	qrcode.WriteFile("https://blog.csdn.net/yang731227",qrcode.Medium,256,"./qrcode.png")
}

這樣我們就可以生成了一個二維碼。

我們首先看下func WriteFile(content string, level RecoveryLevel, size int, filename string) error的參數(shù)。

  • content string 簡單明了,這個是二維碼內容
  • level RecoveryLevel 這個是二維碼容錯等級,取值有Low、Medium、High、Highest。
  • size int 不用說都知道這個是定義二維碼大小
  • filename string 二維碼的保存路徑

生成有前后背景顏色的二維碼

剛剛我們生成了一個前黑后白的二維碼,這次我們想搞點花樣,生成一個花花綠綠的二維碼,我們直接上代碼

package main
import (
	"github.com/skip2/go-qrcode"
	"image/color"
)
func main() {
	//qrcode.WriteFile("https://blog.csdn.net/yang731227",qrcode.High,200,"./qrcode.png")
	qrcode.WriteColorFile("https://blog.csdn.net/yang731227", qrcode.High, 256, color.Black, color.White, "./qrcode.png")
}

我們來看下func WriteColorFile(content string, level RecoveryLevel, size int, background, foreground color.Color, filename string) error的參數(shù),比WriteFile 多了兩個參數(shù) background, foreground color.Color 。我們可以從字面意思就知道,background 是背景顏色,foreground是前景顏色。

顏色我們可以使用 color定義 ,它為我們定義了兩個默認顏色,Black和White。如果我們想用其他顏色怎么辦呢?它為我們提供了color.RGBA() 這個方法,RGBA()有4個參數(shù) 分別是RGB的值和透明值。

例如:

package main
import (
	"github.com/skip2/go-qrcode"
	"image/color"
)
func main() {
	//qrcode.WriteFile("https://blog.csdn.net/yang731227",qrcode.High,200,"./qrcode.png")
	qrcode.WriteColorFile("https://blog.csdn.net/yang731227", qrcode.High, 256, color.Black, color.White, "./qrcode.png")
}

識別二維碼

上面我們講了怎么生成二維,現(xiàn)在我們來實習解析二維碼,當然我們還是需要借助別人寫的庫。

首先我們安裝庫

go get github.com/tuotoo/qrcode

然后我們直接上代碼

package main
import (
	"fmt"
	"os"
	"github.com/tuotoo/qrcode"
)
func main() {
	fi, err := os.Open("./qrcode.png")
	if err != nil {
		fmt.Println(err.Error())
		return
	}
	defer fi.Close()
	qrmatrix, err := qrcode.Decode(fi)
	if err != nil {
		fmt.Println(err.Error())
		return
	}
	fmt.Println(qrmatrix.Content)
}

以上就是go語言編程二維碼生成及識別的詳細內容,更多關于go語言二維碼生成識別的資料請關注腳本之家其它相關文章!

相關文章

  • golang validator庫參數(shù)校驗實用技巧干貨

    golang validator庫參數(shù)校驗實用技巧干貨

    這篇文章主要為大家介紹了validator庫參數(shù)校驗實用技巧干貨,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪
    2022-04-04
  • 讀取Go項目中的配置文件的方法

    讀取Go項目中的配置文件的方法

    本文主要介紹了讀取Go項目中的配置文件的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06
  • GoLang語法之標準庫fmt.Printf的使用

    GoLang語法之標準庫fmt.Printf的使用

    fmt包實現(xiàn)了類似C語言printf和scanf的格式化I/O,主要分為向外輸出內容和獲取輸入內容兩大部分,本文就來介紹一下GoLang語法之標準庫fmt.Printf的使用,感興趣的可以了解下
    2023-10-10
  • golang的協(xié)程上下文的具體使用

    golang的協(xié)程上下文的具體使用

    golang的context?主要用來在?goroutine?之間傳遞上下文信息,包括:取消信號、超時時間、截止時間、k-v?等,本文就詳細的來介紹一下golang的協(xié)程上下文的具體使用,感興趣的可以了解一下
    2022-04-04
  • go語言中decimal的用法詳解

    go語言中decimal的用法詳解

    本文主要介紹了go語言中decimal的用法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • 使用Golang實現(xiàn)加權負載均衡算法的實現(xiàn)代碼

    使用Golang實現(xiàn)加權負載均衡算法的實現(xiàn)代碼

    這篇文章主要介紹了使用Golang實現(xiàn)加權負載均衡算法的實現(xiàn)代碼,詳細說明權重轉發(fā)算法的實現(xiàn),通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • Go語言HTTP請求流式寫入body的示例代碼

    Go語言HTTP請求流式寫入body的示例代碼

    這篇文章主要介紹了Go語言HTTP請求流式寫入body,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • golang切片原理詳細解析

    golang切片原理詳細解析

    這篇文章主要介紹了golang切片原理詳細解析,切片在編譯時定義為Slice結構體,并通過NewSlice()函數(shù)進行創(chuàng)建,更多相關內容感興趣的小伙伴可以參考一下下面文章內容
    2022-06-06
  • golang 獲取當前執(zhí)行程序路徑的操作

    golang 獲取當前執(zhí)行程序路徑的操作

    這篇文章主要介紹了golang 獲取當前程序執(zhí)行路徑的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • Go語言包管理模式示例分析

    Go語言包管理模式示例分析

    這篇文章主要為大家介紹了Go語言包管理模式示例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05

最新評論

万山特区| 洛南县| 西峡县| 镇宁| 济南市| 华阴市| 平度市| 宁阳县| 色达县| 莱芜市| 三明市| 运城市| 南华县| 府谷县| 南宫市| 长顺县| 济阳县| 台中市| 信阳市| 大化| 鄂尔多斯市| 贡山| 本溪| 叶城县| 商洛市| 连城县| 贵德县| 莲花县| 玛多县| 修武县| 惠安县| 宁安市| 张家界市| 灵寿县| 龙口市| 宜宾县| 中阳县| 赣州市| 苍溪县| 丽水市| 淄博市|