markdown golang:fungsi untuk mendapatkan beberapa baris data inputan user di terminal / stdin
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown golang:fungsi untuk mendapatkan beberapa baris data inputan user di terminal / stdin相关的知识,希望对你有一定的参考价值。
package main
import (
"bufio"
"fmt"
"os"
"strings"
)
func ScanLn(rslt *[]interface{}) {
n := 0
scanner := bufio.NewScanner(os.Stdin)
scanner.Split(func(data []byte, atEOF bool) (adv int, tkn []byte, err error) {
//callback ini dipanggil setiap pindah baris baru (user ketik Enter)
if atEOF {
*rslt = make([]interface{}, n) //menentukan alokasi memory yang dibutuhkan
i := 0
for k := 0; k < n; k++ {
adv, tkn, err = bufio.ScanLines(data[i:], atEOF)
i += adv
(*rslt)[k] = string(tkn)
}
}
n++
return
})
scanner.Scan()
}
func main() {
println("inputkan beberapa baris data, akhiri dengan Ctrl-Z lalu Enter")
var result []interface{}
ScanLn(&result)
f := "hasil :\n" + strings.Repeat(", %s", len(result))[2:] + "\n"
fmt.Printf(f, result...)
}
![stdinlinesscanresult](https://user-images.githubusercontent.com/21541959/44765864-f63a9c80-ab80-11e8-9cf2-8a53ba6718b1.png)
以上是关于markdown golang:fungsi untuk mendapatkan beberapa baris data inputan user di terminal / stdin的主要内容,如果未能解决你的问题,请参考以下文章
markdown ESTADOS DE UN THREAD
markdown Todo en un solo commit
markdown Estructura de un documento WSDL
markdown Elementos de un mensaje SOAP
markdown Router Resolver avec un store
markdown Obtiene子阵列de un array