golang 去言语のIO处理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang 去言语のIO处理相关的知识,希望对你有一定的参考价值。

// 特定の文字まで読み込む。
func readBytes() {
	bufReader, file := newBufReader()
	for {
		line, err := bufReader.ReadBytes('\n')
		fmt.Print(string(line))
		if err == io.EOF {
			break
		}
	}
	file.Close()
}

// 指定したバイト配列分読み込み
func read() {
	bufReader, file := newBufReader()
	storage := make([]byte, 10)
	size, err := bufReader.Read(storage)
	if err != nil {
		panic(err)
	}
	fmt.Printf("read size is %d", size)
	fmt.Println(string(storage))
	file.Close()
}

// 1バイト読み込み
func readByte() {
	bufReader, file := newBufReader()
	b, err := bufReader.ReadByte()
	if err != nil {
		panic(err)
	}
	fmt.Println(string(b))
	file.Close()
}

// 一行読み込み
// 低レベルなAPIなので、ReadBytesやReadString、もしくはScannerを利用すること
func readLine() {
	bufReader, file := newBufReader()
	for {
		line, _, err := bufReader.ReadLine()
		fmt.Println(string(line))
		if err == io.EOF {
			break
		}
	}
	file.Close()
}

func newBufReader() (*bufio.Reader, *os.File) {
	file, err := os.Open("sample.txt")
	if err != nil {
		panic(err)
	}
	return bufio.NewReader(file), file
}

golang 去言语の中でÇ言语を利用する

package main

/*
 #include <stdlib.h>
 typedef int (*compare_t)(const void* a, const void* b);
 int compareInts(int*, int*);

 static void qsortInts(int* data, int len) {
 qsort(data, len, sizeof(int), (compare_t)compareInts);
 }
*/
import "C"

import . "fmt"

//export compareInts
func compareInts(a, b *C.int) C.int {
    return *a - *b
}

func main() {
    data := [...]C.int{3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9}
    C.qsortInts(&data[0], C.int(len(data)))
    Println(data)
}

以上是关于golang 去言语のIO处理的主要内容,如果未能解决你的问题,请参考以下文章

golang 去言语の扫描仪の使い方

golang 去言语正规表现テスト

golang 去言语でレーダーチャートを书く(途中)

text 20180828多言语フォントの指定

text GO言语のディレクトリ构成#memo

golang [画像アップロード]画像のアップロード处理をなるべく端折って记述したいときに#image