首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >「Go工具箱」通过这个工具包,你就能了解每天使用的表情符号是怎么来的

「Go工具箱」通过这个工具包,你就能了解每天使用的表情符号是怎么来的

作者头像
Go学堂
发布2023-01-31 16:27:57
发布2023-01-31 16:27:57
61800
代码可运行
举报
文章被收录于专栏:Go工具箱Go工具箱
运行总次数:0
代码可运行

大家好,我是渔夫子。本号新推出「Go工具箱」系列,意在给大家分享使用go语言编写的、实用的、好玩的工具。同时了解其底层的实现原理,以便更深入地了解Go语言。

大家在使用微信或钉钉聊天时,一定使用过表情符号。今天就给大家介绍一个能够在终端上显示emoji表情符号的包:emoji。下面是emoji的基本情况:

emoji小档案

star

711

used by

575

contributors

10

分类

娱乐消遣

功能简介

一款在终端上显示emoji表情符号的库

相关知识

unicode编码、rune字符

实现原理:emoji表情符号实际上就是在unicode编码表中有定义的一个编码。通过将符号的文字表示和对应的unicode编码进行一一对应,在使用时对文字符号进行替换成rune字符输出即可。

基本使用:使用也非常简单,如下:

代码语言:javascript
代码运行次数:0
运行
复制
package main

import (
  "fmt"

  "github.com/kyokomi/emoji/v2"
)

func main() {
  fmt.Println("Hello World Emoji!")

  emoji.Println(":beer: Beer!!!")

  pizzaMessage := emoji.Sprint("I like a :pizza: and :sushi:!!")
  fmt.Println(pizzaMessage)
}

输出效果:

程序中的符号短名称可以参考源文件emoji_codemap.go中的映射表。该映射表中的表情符号来源于以下4个数据源:

  • emoji-v5:https://raw.githubusercontent.com/CodeFreezr/emojo/master/db/v5/emoji-v5.json
  • unicode编码:http://www.unicode.org/emoji/charts/emoji-list.html
  • gemoji符号:https://raw.githubusercontent.com/github/gemoji/master/db/emoji.json
  • iamcal:https://github.com/iamcal/emoji-data/raw/master/emoji.json

同时,如果想了解更多的emoji符号和知识,可以通过 https://emojixd.com/ 网站进行了解,该网站是一本线上的emoji表情百科全书。

更多项目详情请查看如下链接。

开源项目地址:https://github.com/kyokomi/emoji

开源项目作者:kyokomi

---特别推荐---

特别推荐:一个专注go项目实战、项目中踩坑经验及避坑指南、各种好玩的go工具的公众号,「Go学堂」,专注实用性,非常值得大家关注。点击下方公众号卡片,直接关注。关注送《100个go常见的错误》pdf文档。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-09-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Go学堂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档