linzhengen / tech-notes

My tech notes write in github issues🧲
1 stars 0 forks source link

[20211101] 配列逆転する関数を実装してみた #154

Open linzhengen opened 2 years ago

linzhengen commented 2 years ago

コード

package main

import (
    "fmt"
)

func main() {
    data := []byte{1, 2, 3, 4, 5}
    result := reverse(data)
    fmt.Printf("before: %v\nafter: %v", data, result)
}

func reverse(s []byte) []byte {
    t := make([]byte, len(s))
    copy(t, s)
    for i, j := 0, len(t)-1; i < j; i, j = i+1, j-1 {
        t[i], t[j] = t[j], t[i]
    }
    return t
}

output

before: [1 2 3 4 5]
after: [5 4 3 2 1]

Go Playground

https://play.golang.org/p/r0qPh5RWXas