71 lines
931 B
Go
71 lines
931 B
Go
package main
|
|
|
|
import (
|
|
"errors"
|
|
"fmt"
|
|
)
|
|
|
|
type Age uint
|
|
|
|
func (age Age) String() {
|
|
fmt.Println("the age is", age)
|
|
}
|
|
|
|
func (age *Age) Modify() {
|
|
*age = Age(30)
|
|
}
|
|
|
|
func main() {
|
|
age := Age(25)
|
|
age.String()
|
|
age.Modify()
|
|
age.String()
|
|
|
|
sm := Age.String
|
|
sm(age)
|
|
|
|
result, err := sum(-1, 2)
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
} else {
|
|
fmt.Println(result)
|
|
}
|
|
fmt.Println(sum1(1, 2))
|
|
fmt.Println(sum1(1, 2, 3))
|
|
fmt.Println(sum1(1, 2, 3, 4))
|
|
|
|
sum2 := func(a, b int) int {
|
|
return a + b
|
|
}
|
|
fmt.Println(sum2(1, 2))
|
|
c1 := colsure()
|
|
fmt.Println(c1())
|
|
fmt.Println(c1())
|
|
fmt.Println(c1())
|
|
}
|
|
|
|
func colsure() func() int {
|
|
i := 0
|
|
return func() int {
|
|
i++
|
|
return i
|
|
}
|
|
}
|
|
|
|
func sum(a int, b int) (sum int, err error) {
|
|
if a < 0 || b < 0 {
|
|
return 0, errors.New("a或者b不能是负数")
|
|
}
|
|
sum = a + b
|
|
err = nil
|
|
return
|
|
}
|
|
|
|
func sum1(params ...int) int {
|
|
sum := 0
|
|
for _, i := range params {
|
|
sum += i
|
|
}
|
|
return sum
|
|
}
|