diff options
author | Nami-Doc <vendethiel@hotmail.fr> | 2014-02-02 12:31:35 -0800 |
---|---|---|
committer | Nami-Doc <vendethiel@hotmail.fr> | 2014-02-02 12:31:35 -0800 |
commit | 0d0375c73cc9751b85408051105e49ffb4b94181 (patch) | |
tree | 2951d9af66bf27304dedb3ade8c5378ae8ee4e64 | |
parent | 8d82b5594749c52b5b8fa3b988ae65098a47ab1c (diff) | |
parent | ded11e254f75edfd83fc816fe609431e182f5155 (diff) |
Merge pull request #511 from qguv/master
[golang/en] added defer example
-rw-r--r-- | go.html.markdown | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/go.html.markdown b/go.html.markdown index d1a0ae34..a66e8c4b 100644 --- a/go.html.markdown +++ b/go.html.markdown @@ -7,6 +7,7 @@ contributors: - ["Sonia Keys", "https://github.com/soniakeys"] - ["Christopher Bess", "https://github.com/cbess"] - ["Jesse Johnson", "https://github.com/holocronweaver"] + - ["Quint Guvernator", "https://github.com/qguv"] --- Go was created out of the need to get work done. It's not the latest trend @@ -180,9 +181,21 @@ func learnFlowControl() { goto love love: + learnDefer() // A quick detour to an important keyword. learnInterfaces() // Good stuff coming up! } + + +func learnDefer() (ok bool) { + // deferred statements are executed just before the function returns. + defer fmt.Println("deferred statements execute in reverse (LIFO) order.") + defer fmt.Println("\nThis line is being printed first because") + // defer is commonly used to close a file, so the function closing the file + // stays close to the function opening the file + return true +} + // Define Stringer as an interface type with one method, String. type Stringer interface { String() string |