func keyword in Go

The func keyword in Go defines a function.
```
func add(a, bint) (ret int) {
	ret = a + b
	return
}
```
A function can take zero or more arguments. 
When two or more consecutive named function parameters share a type, you can omit the type from all but the last. 
Go support 'naked' return. That is, Go's return values may be named, and they are treated as variables defined at the top of the function.