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