Skip to content

Instantly share code, notes, and snippets.

View tenntenn's full-sized avatar

Takuya Ueda tenntenn

View GitHub Profile
@tenntenn
tenntenn / hello.go
Last active December 11, 2015 19:19
Hello, Golang
package main
import (
"fmt"
)
func main() {
fmt.Println("Hello, Golang!!")
}
@tenntenn
tenntenn / main.go
Created March 1, 2013 01:08
Gowebで静的ページとRESTful APIを両方ともハンドリングする ref: http://qiita.com/items/7f532cc883c9ba3151a8
package main
import (
"fmt"
"github.com/stretchrcom/goweb/goweb"
"net/http"
)
func main() {
type ServeMux struct {
mu sync.RWMutex
m map[string]muxEntry
}
type muxEntry struct {
explicit bool
h Handler
}
@tenntenn
tenntenn / file0.go
Last active January 16, 2018 11:11
Go言語における埋め込みによるインタフェースの部分実装パターン ref: https://qiita.com/tenntenn/items/e04441a40aeb9c31dbaf
package main
import "fmt"
type Person struct {
FirstName string
LastName string
}
func (p *Person) Name() string {
@tenntenn
tenntenn / file0.txt
Created September 18, 2013 17:35
Go言語におけるエイリアス型を使ったパターン ref: http://qiita.com/tenntenn/items/c3afc87a20d9f50998bb
package main
import "fmt"
type Int int
func main() {
n := 100
m := Int(n) // キャスト
fmt.Printf("%T, %T", n, m)
@tenntenn
tenntenn / file1.txt
Last active January 18, 2018 06:54
Go言語におけるinterface{}とリフレクションを使ったパターン ref: https://qiita.com/tenntenn/items/a06b6b178959e3a63196
package main
import (
"fmt"
"reflect"
)
func call(f interface{}) {
fv := reflect.ValueOf(f)
if fv.Kind() != reflect.Func {
@tenntenn
tenntenn / file0.txt
Created September 21, 2013 07:03
[Go言語] constとiota面白い ref: http://qiita.com/tenntenn/items/0a3af58b225eeae29088
package main
import "fmt"
const (
a = iota
b
c
)
@tenntenn
tenntenn / file0.txt
Created September 21, 2013 07:15
[Go言語] reflectパッケージで変数の値を変える ref: http://qiita.com/tenntenn/items/3add893529707c837b4f
package main
import (
"fmt"
"reflect"
)
func main() {
n := 100
@tenntenn
tenntenn / file0.txt
Created September 29, 2013 07:42
[Go言語] 埋め込んだときに、メソッド名が被っててインタフェースを実装できない場合はどうするのか? ref: http://qiita.com/tenntenn/items/f2a154dd436c0fa37c5b
package main
import "fmt"
type Named interface {
Name() string
}
type Hoge struct {
}
@tenntenn
tenntenn / file0.txt
Created September 29, 2013 08:03
[Go言語] deferに関する実験 ref: http://qiita.com/tenntenn/items/9aebce917760f157c44e
package main
import "fmt"
func f() {
defer fmt.Println("1")
defer fmt.Println("2")
defer fmt.Println("3")
}