lean into examples
This commit is contained in:
22
examples/exit/exit.go
Normal file
22
examples/exit/exit.go
Normal file
@@ -0,0 +1,22 @@
|
||||
// Use `os.Exit` to immediatly exit with a given
|
||||
// status.
|
||||
|
||||
package main
|
||||
|
||||
import "os"
|
||||
|
||||
func main() {
|
||||
// `defer`s will _not_ be run when using `os.Exit`, so
|
||||
// this `println` will never be called.
|
||||
defer println("!")
|
||||
|
||||
// Exit with status 3.
|
||||
os.Exit(3)
|
||||
}
|
||||
|
||||
// Note that unlike e.g. C, Go does not use an integer
|
||||
// return value from `main` to indicate exit status. If
|
||||
// you'd like to exit with a non-zero status you should
|
||||
// use `os.Exit`.
|
||||
|
||||
// todo: discuss building before getting here
|
||||
13
examples/exit/exit.sh
Normal file
13
examples/exit/exit.sh
Normal file
@@ -0,0 +1,13 @@
|
||||
# If you run `exit.go` using `go run`, the exit
|
||||
# will be picked up by `go` and printed.
|
||||
$ go run exit.go
|
||||
exit status 3
|
||||
|
||||
# By building and executing a binary you can see
|
||||
# the status in the terminal.
|
||||
$ go build exit.go
|
||||
$ ./exit
|
||||
$ echo $?
|
||||
3
|
||||
|
||||
# Note that the `!` from our program never got printed.
|
||||
Reference in New Issue
Block a user