Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
go [2019/08/23 20:39] – [Figure out] rpjdaygo [2019/08/25 09:38] (current) – [Articles on Go] rpjday
Line 3: Line 3:
 Stuff regarding Go programming language. Stuff regarding Go programming language.
  
-===== Figure out =====+===== Figure out/Stuff =====
  
   * proper brace placement to avoid semicolon insertion   * proper brace placement to avoid semicolon insertion
-  * "import path" versus "package name"+  * "import path" versus "package name" (factored import statement)
   * fmt.Printf() format specifiers   * fmt.Printf() format specifiers
-  * named return values+  * named return values (explicit or allow to default)
   * type "zero values"   * type "zero values"
 +  * "var p = &Vertex{1,2}", what is the scope/lifetime?
   * how to list all package methods from the command line?   * how to list all package methods from the command line?
   * how multi-platform things like Sqrt() work?   * how multi-platform things like Sqrt() work?
Line 17: Line 18:
     * modifying named return values     * modifying named return values
   * package "init" functions   * package "init" functions
 +  * closures
 +  * methods
  
 ===== Course outline ===== ===== Course outline =====
Line 40: Line 43:
   * [[https://blog.learngoprogramming.com/about-go-language-an-overview-f0bee143597c|About Go Language -- An Overview]] (Sep, 2017)   * [[https://blog.learngoprogramming.com/about-go-language-an-overview-f0bee143597c|About Go Language -- An Overview]] (Sep, 2017)
   * [[https://medium.com/golangspec/import-declarations-in-go-8de0fd3ae8ff|Import declarations in Go]]   * [[https://medium.com/golangspec/import-declarations-in-go-8de0fd3ae8ff|Import declarations in Go]]
 +  * [[https://www.alexedwards.net/blog/an-overview-of-go-tooling|An overview of Go's tooling]]
  
 ==== Technical papers on Go ==== ==== Technical papers on Go ====
Line 54: Line 58:
   * [[Golangbot tutorial]]   * [[Golangbot tutorial]]
  
 +===== Language features =====
 +
 +==== Methods ====
 +
 +  * Go does not have classes; a method is a function with a special receiver argument (such as "Vertex").
 +  * Value receiver versus pointer receiver (one or the other, not both)
 +  * Functions with a pointer argument must take a pointer, while methods with pointer receivers take either a value or a pointer as the receiver when they are called.
 +  * Methods with value receivers take either a value or a pointer as the receiver when they are called.
  
  • go.1566592793.txt.gz
  • Last modified: 2019/08/23 20:39
  • by rpjday