ぷらこのきろく

メモとかテストとか備忘録とか

golang

walk NewBitmapFromImage()

今日遊んだコードはこれ package main import ( "github.com/lxn/walk" . "github.com/lxn/walk/declarative" ) import ( _ "go.image/bmp" ) import ( "fmt" "image" "image/color" "os" "log" ) func imgfromfilename(filename string) (img image.Image, …

walk ImageView

今日遊んだコードはこんな感じ。 package main import ( "github.com/lxn/walk" . "github.com/lxn/walk/declarative" ) func main() { var iv *walk.ImageView img, _ := walk.NewImageFromFile("./tombo_big.bmp") imgsize := img.Size() MainWindow{ Titl…

構造体とポインタの話

まあ、あたりまえっちゃあたりまえなんだろうけど、一応確かめておこうと思ったこと。 package main import "fmt" type hoge struct { a int b float64 s string } 構造体を適当に宣言しておく。 func main() { var h *hoge h = new(hoge) h.a = 5 h.b = 3.1…

walk PushButton

今日遊んだコードはこんな感じ package main import ( "github.com/lxn/walk" . "github.com/lxn/walk/declarative" ) import ( "strings" ) func main() { var te1 *walk.TextEdit MainWindow{ Title: "hello", Size: Size{320, 480}, Layout: VBox{}, Chil…

構造体

golangの構造体の中に、他の構造体の宣言を入れられるみたい。 うまいこと説明できないけど type hogebase struct { j int } とりあえず先に(後でもいいけど)取り込む構造体を宣言してみる。 type hoge struct { hogebase i int str string } で、こんな感じ…

walk Layout

今回遊んだコードはこれがベース。昨日(だったけ)作ったコードから少しだけ変えた。 package main import ( "github.com/lxn/walk" . "github.com/lxn/walk/declarative" ) func main() { var te1, te2 *walk.TextEdit MainWindow{ Title: "hello", Size: Si…

walk初め

walkを使おうとぐうぐる先生に聞いてみたが、 こことここしか見つからなかった。 それらの書いてあることはきっと初歩的なことなんだろうけど、今の僕にはまだむずかしい。 僕はまずhello worldが書きたい。というわけで、よくわからんまま package main imp…

クロージャ

なんかよくわからないものがあるんだけど、まあ関数そのものが変数に代入できて それで動かすと中身がC言語でいうstatic変数みたいなんになってるんかなと。。 まあよくわからないけどそんなレベルで考えてる。で、こんなコードを書いてみた。 package main …

WALKのインストール

windowsのguiでgoを使うには、と、適当に調べてみたらこのへんが見つかった。 で、よろこんで go get github.com/lxn/walk とやってみたら、うまくいかない。 なんか$GOPATHが設定されていないらしい。 どこに作るかよくわからないので、C:\Users\prizeout …

goルーチンテスト

func hoge(ch chan int) { v := <- ch v++ fmt.Println(v) ch <- v return } func main() { ch := make(chan int, 1) ch <- 0 for i:=0; i<10; i++{ go hoge(ch) } return } こんなコードを書いてみた。期待した結果は 1 2 3 4 5 6 7 8 9 10 だったんだが、…

Walk()つづき

再帰使わずにがんばる方法、寝ようと思ったらなんか思いついたので書いてみた。 type node struct { self *tree.Tree left bool //true: 行ったことあるよー right bool prev *node } func Walk(t *tree.Tree, ch chan int) { now := new(node) now.self = t…

golang練習

先日、goという言語を見つけて、プログラムのリハビリがてらチュートリアルを遊んでいる。 http://go-tour-jp.appspot.com/んで、がんばって最後の方までいくと、二分木というものがでてきて、それをたどれと。。 情報系の人だったら学校の授業で出てきただ…