go言語の開発環境を整え、プログラムを組んでみる。 言語的にはNim言語の方がオススメ。
開発環境を整える
# dnf install go
hello.go
package main
import "fmt"
func main() {
fmt.Printf("Hello world\n")
}
$ go run hello.go
$ go build hello.go
$ ./hello
実用的なプログラムを組んでみる
- MarkdownをHTMLに変換するプログラム
// go get github.com/russross/blackfriday
// go build md2html.go
package main
import (
"fmt"
"io/ioutil"
"log"
"flag"
"github.com/russross/blackfriday"
)
func main() {
flag.Parse()
md, err := ioutil.ReadFile(flag.Arg(0))
if err != nil {
log.Fatal(err)
}
//html := blackfriday.MarkdownBasic(md)
//fmt.Println(string(html))
htmlFlags := blackfriday.HTML_TOC
renderer := blackfriday.HtmlRenderer(htmlFlags, "", "")
html := blackfriday.MarkdownOptions(md, renderer, blackfriday.Options{Extensions: 0})
fmt.Println(string(html))
}
$ go get github.com/russross/blackfriday
$ go build md2html.go
$ ./md2html xxx.md > xxx.html
- Nuklearを使ったGUI
- libuiを使ったGUI
Makefile
TARGET = filename
GO_SRCS := $(shell find . -name "*.go")
all: $(TARGET)
$(TARGET): $(GO_SRCS)
go build -ldflags '-s -w' -o $@
upx $(TARGET)
clean:
rm -f $(TARGET)
参考
- https://qiita.com/tetsu_koba/items/53d84286ba5d87de607a