1

2

3

4

5

6

7

8

9

10

A
type vertex struct { X, Y int } func f(v *vertex) { vX = 3 vY = 4 } func main() { v1 := vertex{1, 8} f(&v1) }
B
package main import "fmt" import "math" func main() { fmt.Printf("%f", 1.0/math.Sqrt(49)) }
C
package main import ( "fmt" "unicode/utf8" ) func main() { b := []byte{80, 72, 80, 32, 114, 117, 108, 101, 115} for len(b) > 0 { r, size := utf8.DecodeRune(b) fmt.Printf("%c", r) b = b[size:] } }
D
func f(x, y int64) int64 { return x + y }
E
package main import ( "fmt" ) func f(a int) func(b int) int { return func(b int) int { return a*b } } func main() { list := []int{2, 2, 2, 2} g := f(3) for i, value := range list { list[i] = g(value) } fmt.Println(list) }
F
type vt struct { X, Y int } func f(v vt) { vX = 3 vY = 4 } func main() { v1 := vt{1, 8} f(v1) }
G
package main import ( "io" "log" "net/http" ) func h(w http.ResponseWriter, r *http.Request) { io.WriteString(w, "hello, world!\n") } func main() { http.HandleFunc("/", h) log.Fatal(http.ListenAndServe(":8080", nil)) }
H
type filter func(string) bool func bf(list []string, fn filter) [][]string { valid, invalid := []string{}, []string{} for _, s := range list { if fn(s) { valid = append(valid, s) } else { invalid = append(invalid, s) } } return [][]string{valid, invalid} } func main() { l := []string{"gl", "hf", "ht", "tt"} res := bf(l, func(s string) bool { return s[0] == 'h' }) }
私は
package main import "fmt" func main() { a, b := 5, 10 fmt.Println(map[bool]int{true: a, false: a-1}[a > b]) }
J
package main import ( "fmt" ) func f(a, b int) int { if a > b { return a } return b } func main() { ints := []int{1, 8, 3, 4, 5} res := ints[0] for _, v := range ints { res = f(res, v) } fmt.Println(res) }