memoメモ

最近はGo言語関連で。φ(..)メモメモ

Apple's SSL/TLS bugの件 #golang

Apple's SSL/TLS bugの件で。

golangだとそもそも括弧強要されるし、gofmtでインデントが強制されるのでわりとすぐに気づくのかもと思ったのでメモ。

そもそもエラーになる:

package main

import "fmt"

func main() {
    var err error = nil
    if err != nil 
        goto fail
        goto fail
 
    fmt.Println("Hello, playground")
fail:
    fmt.Println("Hello, fail")
}

http://play.golang.org/p/lcgZDh-ji4

修正&gofmtでこうなる:

package main

import "fmt"

func main() {
    var err error = nil
    if err != nil {
        goto fail
    }
    goto fail

    fmt.Println("Hello, playground")
fail:
    fmt.Println("Hello, fail")
}

http://play.golang.org/p/hinPttq13L

気づくかな。

goto文をつかうこと自体は悪く無いと思う。

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

CODE COMPLETE 第2版 上

CODE COMPLETE 第2版 上

CODE COMPLETE 第2版 下

CODE COMPLETE 第2版 下