go_study/flysnow/ch05/main.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
}