package main
import (
"syscall"
)
var (
kernel32 *syscall.LazyDLL = syscall.NewLazyDLL(`kernel32.dll`)
proc *syscall.LazyProc = kernel32.NewProc(`SetConsoleTextAttribute`)
CloseHandle *syscall.LazyProc = kernel32.NewProc(`CloseHandle`)
// 給字體顏色對象賦值
FontColor Color = Color{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}
)
type Color struct {
black int // 黑色
blue int // 藍色
green int // 綠色
cyan int // 青色
red int // 紅色
purple int // 紫色
yellow int // 黃色
light_gray int // 淡灰色(系統(tǒng)默認值)
gray int // 灰色
light_blue int // 亮藍色
light_green int // 亮綠色
light_cyan int // 亮青色
light_red int // 亮紅色
light_purple int // 亮紫色
light_yellow int // 亮黃色
white int // 白色
}
// 輸出有顏色的字體
func ColorPrint(s string, i int) {
handle, _, _ := proc.Call(uintptr(syscall.Stdout), uintptr(i))
print(s)
CloseHandle.Call(handle)
}
func main() {
ColorPrint(`紅色`, FontColor.red)
ColorPrint(`藍色`, FontColor.blue)
ColorPrint(`白色`, FontColor.white)
}