package main
func index(names []string, name string) int {
for i, getName := range names {
if getName == name {
return i
}
}
return -1
}
func include(names []string, name string) bool {
return index(names, name) >= 0
}
func main(){
var names = []string{"Tom", "Jack", "Lisa"}
include(names, "Tom")
}
package main
import "fmt"
func isOk(num int) bool {
return num % 3 == 0
}
func allData(nums []int, isOk func(int)bool) []int {
var newNums []int
for _, num := range nums {
if isOk(num) == true {
newNums = append(newNums, num)
}
}
return newNums
}
func main(){
nums := []int{1, 2, 3, 4, 5, 6, 7, 8, 9}
fmt.Println(allData(nums, isOk))
}
package main
import "fmt"
func getab(isOk bool) func(int, int) int {
if isOk == true {
return func (a int, b int) int {
return a + b
}
}
return func (a int, b int) int {
return a - b
}
}
func main(){
a := 10
b := 20
fmt.Println(getab(false)(a, b))
}
package main
import "fmt"
func fac(n uint64) (result uint64) {
if n > 0 {
result = n * fac(n - 1)
return result
}else {
return 1
}
}
func main(){
fmt.Println(fac(10))
}