<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Go語言庫系列之aurora

      背景介紹

      今天跟大家推薦一款可以給終端輸出上色的工具--aurora。

      file

      極速上手

      準備工作

      初始化項目

      go mod init aurora
      

      演示項目結構

      .
      ├── go.mod
      ├── go.sum
      └── main.go
      

      安裝aurora包

      go get -u github.com/logrusorgru/aurora
      

      代碼演示

      首先引入aurora庫

      import . "github.com/logrusorgru/aurora"
      

      輸出一個品紅顏色的內容,Magenta是以顏色命名的方法

      fmt.Println("Hello,", Magenta("Aurora"))
      

      再輸出一個加粗的青色的名稱

      fmt.Println(Bold(Cyan("Cya!")))
      

      完整代碼如下

      package main
      
      import (
      	"fmt"
      
      	. "github.com/logrusorgru/aurora"
      )
      
      func main() {
      	fmt.Println("Hello,", Magenta("Aurora"))
      	fmt.Println(Bold(Cyan("Cya!")))
      }
      

      運行后輸出內容如下

      file

      更多玩法

      支持格式化輸出函數

      除了換行輸出函數外,aurora還支持格式化輸出函數

      msg := fmt.Sprintf("My name is %s", Green("pingyeaa"))
      fmt.Println(msg)
      

      file

      鏈式調用

      我們可以嵌套調用,來個綠底加粗紅字

      fmt.Println(BgGreen(Bold(Red("pingyeaa"))))
      

      file

      還可以進行鏈式調用,同樣可以達到相同效果,這種方式的可讀性更高一些

      fmt.Println(Red("pingyeaa").Bold().BgGreen())
      

      更簡便的寫法

      除了鏈式調用外,還有一種更簡便的寫法,就是通過位或運算符來實現

      fmt.Println(Colorize("Greeting", GreenFg|RedBg|BoldFm))
      

      官方定義了10種常量,感興趣的同學可以自行研究源碼

      const (
      
      	BlackBg   Color = (iota << shiftBg) | flagBg // 40, 100
      	RedBg                                        // 41, 101
      	GreenBg                                      // 42, 102
      	YellowBg                                     // 43, 103
      	BlueBg                                       // 44, 104
      	MagentaBg                                    // 45, 105
      	CyanBg                                       // 46, 106
      	WhiteBg                                      // 47, 107
      
      	BrightBg Color = ((1 << 3) << shiftBg) | flagBg // -> 100
      
      	BrownBg = YellowBg
      
      	maskBg = (0xff << shiftBg) | flagBg
      )
      

      同樣也可以搭配鏈式調用使用

      fmt.Println(Red("x").Colorize(GreenFg))
      

      支持灰階

      所謂灰階,是將最亮與最暗之間的亮度變化,區分為若干份

      file

      方法中的數字代表灰色深度的數值,支持背景和文字上色

      fmt.Println("  ",
      	Gray(1-1, " 00-23 ").BgGray(24-1),
      	Gray(4-1, " 03-19 ").BgGray(20-1),
      	Gray(8-1, " 07-15 ").BgGray(16-1),
      	Gray(12-1, " 11-11 ").BgGray(12-1),
      	Gray(16-1, " 15-07 ").BgGray(8-1),
      	Gray(20-1, " 19-03 ").BgGray(4-1),
      	Gray(24-1, " 23-00 ").BgGray(1-1),
      )
      

      file

      支持閃爍

      fmt.Println(Blink("Blink"))
      

      限制

      格式化輸出函數中的%T%p是沒辦法上色的

      r := Red("red")
      var i int
      fmt.Printf("%T %p\n", r, Green(&i))
      
      aurora.value %!p(aurora.value={0xc42000a310 768 0})
      

      但是可以通過在外層嵌套顏色來解決

      fmt.Println(Red(fmt.Sprintf("%T %p\n", r, Green(&i))))
      

      Go語言庫代碼示例,歡迎star
      https://github.com/pingyeaa/golang-examples

      感謝大家的觀看,如果覺得文章對你有所幫助,歡迎關注公眾號「平也」,聚焦Go語言與技術原理。
      關注我

      posted @ 2020-04-05 14:54  MARIOOW  閱讀(558)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 色综合色综合综合综合综合 | www欧美在线观看| 亚洲精品成人福利网站| 体态丰腴的微胖熟女的特征| 亚洲伊人精品久视频国产| 中文字幕日韩国产精品| 草草浮力影院| 亚洲av成人精品日韩一区| 免费看视频的网站| 这里只有精品在线播放| 五月开心六月丁香综合色啪| 无码人妻丝袜在线视频| 日韩中文字幕高清有码| 国内精品伊人久久久久av| 日本一卡二卡3卡四卡网站精品| 免费大片av手机看片高清| 午夜福利国产盗摄久久性| 亚洲欧美高清在线精品一区二区 | 亚洲第一成年免费网站| 99精品国产成人一区二区| 国内久久人妻风流av免费| 一本大道无码av天堂| 2020国产欧洲精品网站| 少妇激情一区二区三区视频小说| 少妇办公室好紧好爽再浪一点| 国产96在线 | 亚洲| 国产 一区二区三区视频| 精品少妇av蜜臀av| 少妇人妻综合久久中文字幕| 思思热在线视频精品| 精品日本免费一区二区三区| 国产高潮又爽又刺激的视频| 亚洲a免费| 亚洲国产精品成人无码区| √天堂资源地址在线官网| 男人和女人做爽爽免费视频| 99久久国产成人免费网站| 色偷偷偷久久伊人大杳蕉| 国产精品国产三级国产午| 国产免费一区二区不卡| 亚洲精品喷潮一区二区三区|