Utilities for ordering emojis according to the official Unicode emoji sort order
go get github.com/bcongdon/emoji-ordering
package main
import (
"github.com/bcongdon/emoji-ordering"
"fmt"
"sort"
)
func main() {
emojis := []string{"๐", "๐ฏ", "๐ค", "๐คทโโ๏ธ", "๐คท"}
sort.Sort(ordering.EmojiSlice(emojis))
fmt.Println(emojis)
// [๐ค, ๐, ๐ฏ, ๐คท, ๐คทโโ๏ธ]
fmt.Println(ordering.IsEmoji("๐คทโโ๏ธ"))
// true
fmt.Println(ordering.IsEmoji("foo"))
// false
fmt.Println(ordering.IsEmoji("๐ ")) // with extra whitespace
// false
// Constructing an Emoji Slice with Validation
emojis = []string{"๐", "๐ฏ", "foo"}
_, err := ordering.NewEmojiSlice(emojis)
fmt.Println(err)
// 'foo' is not an emoji
}