diff options
author | Rob Pike <r@golang.org> | 2014-05-11 06:59:47 -0400 |
---|---|---|
committer | Rob Pike <r@golang.org> | 2014-05-11 06:59:47 -0400 |
commit | f7678ed021a53d57b2d5e160e3dfb0d76ea23892 (patch) | |
tree | 718fac98dbf6152af0f2b0367c54f8fe6764d455 | |
parent | fba6ccb2a3a677663296815fab3c235dc8d0a54b (diff) |
go.blog: use the right declaration for Go's main function
OMG department.
Thanks to an anonymous correspondent for pointing it out.
Why did no one notice this?
The original translation here is lexically similar but very wrong.
I had C on the brain when I wrote it. That doesn't happen so much
any more.
LGTM=robert.hencke
R=golang-codereviews, robert.hencke
CC=golang-codereviews
https://golang.org/cl/99160043
-rw-r--r-- | content/gos-declaration-syntax.article | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/content/gos-declaration-syntax.article b/content/gos-declaration-syntax.article index 6ef8580..fb7136f 100644 --- a/content/gos-declaration-syntax.article +++ b/content/gos-declaration-syntax.article @@ -92,19 +92,19 @@ These declarations are clear, if verbose - you just read them left to right. Go There is no direct correspondence between the look of [3]int and how to use a in an expression. (We'll come back to pointers in the next section.) You gain clarity at the cost of a separate syntax. -Now consider functions. Let's transcribe the declaration for main, even though the main function in Go takes no arguments: +Now consider functions. Let's transcribe the declaration for main as it would read in Go, although the real main function in Go takes no arguments: - func main(argc int, argv *[]byte) int + func main(argc int, argv []string) int -Superficially that's not much different from C, but it reads well from left to right: +Superficially that's not much different from C, other than the change from `char` arrays to strings, but it reads well from left to right: -function main takes an int and a pointer to a slice of bytes and returns an int. +function main takes an int and a slice of strings and returns an int. Drop the parameter names and it's just as clear - they're always first so there's no confusion. - func main(int, *[]byte) int + func main(int, []string) int -One value of this left-to-right style is how well it works as the types become more complex. Here's a declaration of a function variable (analogous to a function pointer in C): +One merit of this left-to-right style is how well it works as the types become more complex. Here's a declaration of a function variable (analogous to a function pointer in C): f func(func(int,int) int, int) int |