GOでのファイル読み取り(標準入力も)

以下のコードでできる

package main

import (
    "bufio"
    "fmt"
    "os"
)



func main() {
    // ファイル読み取り(引数でファイル名受け取り)
    fp, err := os.Open(os.Args[1])
    if err != nil {
        panic(err)
    }
    defer fp.Close()
    scanner := bufio.NewScanner(fp)
    for scanner.Scan() {
        fmt.Println(scanner.Text())
    }
    if err := scanner.Err(); err != nil {
        panic(err)
    }

        // 標準入力読み取り
    s := bufio.NewScanner(os.Stdin)
    for s.Scan() {
        fmt.Println(s.Text())
    }
}