作者:codeslinge
项目:monito
// Parse an individual line from Linux's /proc/net/dev.
func (nic *NICSampler) parseLine(line string) (err error) {
var dev string
var rx_byte, rx_pkt, rx_err, rx_drop uint64
var rx_fifo, rx_frame, rx_comp, rx_mcast uint64
var tx_byte, tx_pkt, tx_err, tx_drop uint64
var tx_fifo, tx_coll, tx_carr, tx_comp uint64
if strings.Contains(line, "|") {
return
}
_, err = fmt.Sscanln(line,
&dev,
&rx_byte, &rx_pkt, &rx_err, &rx_drop,
&rx_fifo, &rx_frame, &rx_comp, &rx_mcast,
&tx_byte, &tx_pkt, &tx_err, &tx_drop,
&tx_fifo, &tx_coll, &tx_carr, &tx_comp)
if err != nil {
return
}
dev = dev[0 : len(dev)-1]
if strings.HasPrefix(dev, "lo") {
return
}
nic.sink.Write("net",
dev,
rx_byte, rx_pkt, rx_err, rx_drop,
tx_byte, tx_pkt, tx_err, tx_drop)
return
}
作者:cloudfoundry-communit
项目:bosh-softlayer-tool
func (fakeUi *FakeUi) Scanln(args ...interface{}) (int, error) {
fakeUi.Args = args
fmt.Sscanln(fakeUi.UserInput, args[0])
return fakeUi.ScanlnRc, fakeUi.ScanlnErr
}
作者:kovetski
项目:lockfil
// Who owns the lockfile?
func (l Lockfile) GetOwner() (*os.Process, error) {
name := string(l)
// Ok, see, if we have a stale lockfile here
content, err := ioutil.ReadFile(name)
if err != nil {
return nil, err
}
var pid int
_, err = fmt.Sscanln(string(content), &pid)
if err != nil {
return nil, ErrInvalidPid
}
// try hard for pids. If no pid, the lockfile is junk anyway and we delete it.
if pid > 0 {
p, err := os.FindProcess(pid)
if err != nil {
return nil, err
}
return p, isProcessAlive(p)
} else {
return nil, ErrInvalidPid
}
panic("Not reached")
}
作者:billyboa
项目:GCSolution
// boxFromString returns the box defined by a string of the form "x y w h id".
func boxFromString(in string) (b box, err error) {
_, err = fmt.Sscanln(in, &b.x, &b.y, &b.w, &b.l, &b.id)
if b == emptybox {
return b, errEmpty
}
if b.w == 0 && b.l == 0 {
return b, errZeroBox
}
return
}
作者:cwen-code
项目:study-gopk
func main() {
str := "34 343 245"
var a, b, c int
fmt.Sscan(str, &a, &b, &c)
fmt.Println(a, b, c)
fmt.Sscanf(str, "%d %d %d", &a, &b, &c)
fmt.Println(a, b, c)
fmt.Sscanln(str, &a, &b, &c)
fmt.Println(a, b, c)
}
作者:nicolaslege
项目:heroku-cl
func readLockfile(path string) (pid int, err error) {
d, err := ioutil.ReadFile(path)
if os.IsNotExist(err) {
return 0, nil
}
if err != nil {
return 0, err
}
if _, err := fmt.Sscanln(string(d), &pid); err != nil {
return 0, ErrReadingLockfile
}
return pid, nil
}
作者:shawshinin
项目:Codingam
func main() {
cgreader.RunStaticProgram(
"../../input/ascii_4.txt",
"../../output/ascii_4.txt",
true,
func(input <-chan string, output chan string) {
var width, height int
var text string
fmt.Sscanln(<-input, &width)
fmt.Sscanln(<-input, &height)
fmt.Sscanln(<-input, &text)
text = strings.ToUpper(text)
ascii := make([]string, height)
for i := 0; i < height; i++ {
ascii[i] = <-input
}
lines := make([]string, height)
for _, char := range text {
character := int(char) - 65
if character < 0 || character > 26 {
character = 26
}
for i := range lines {
position := character * width
lines[i] += ascii[i][position : position+width]
}
}
for _, line := range lines {
output <- fmt.Sprintln(line)
}
})
}
作者:mehulsbhat
项目:monito
// Update from /proc/stst
func (s *procStat) Update() (st procStat, err error) {
data, err := readFile(filepath.Join(PROC_DIR, "stat"))
if err != nil {
log.Println(err)
return
}
var ig string
fmt.Sscanln(string(data), &ig, &s.User, &s.Nice, &s.Sys, &s.Idle, &s.Iowait, &s.Irq, &s.Softirq)
st = *s
// Cpu Count
re, _ := regexp.Compile("\ncpu[0-9]")
s.Ncpu = len(re.FindAllString(string(data), 100))
s.timeStamp = time.Now()
return
}
作者:voltron4
项目:rpgPractic
func main() {
reader := bufio.NewReader(os.Stdin)
fmt.Print("Enter text: ")
text, _ := reader.ReadString('\n')
fmt.Println(text)
fmt.Println("Enter text: ")
text2 := ""
fmt.Scanln(text2)
fmt.Println(text2)
ln := ""
fmt.Sscanln("%v", ln)
fmt.Println(ln)
}
作者:nightlyon
项目:lockfil
func scanPidLine(content []byte) (int, error) {
if len(content) == 0 {
return 0, ErrInvalidPid
}
var pid int
if _, err := fmt.Sscanln(string(content), &pid); err != nil {
return 0, ErrInvalidPid
}
if pid <= 0 {
return 0, ErrInvalidPid
}
return pid, nil
}
作者:earnee
项目:elvis
// toRat converts a Value to rat. A str can be converted to a rat if it can be
// parsed. A rat is returned as-is. Other types of values cannot be converted.
func toRat(v Value) (rat, error) {
switch v := v.(type) {
case rat:
return v, nil
case str:
r := big.Rat{}
_, err := fmt.Sscanln(string(v), &r)
if err != nil {
return rat{}, fmt.Errorf("%s cannot be parsed as rat", v.Repr())
}
return rat{&r}, nil
default:
return rat{}, errOnlyStrOrRat
}
}
作者:johnvilsac
项目:golang-stuf
func str() {
var a int
var b int
log.Printf("a: %d, b: %d", a, b)
fmt.Sscan("20\n20", &a, &b)
log.Printf("a: %d, b: %d", a, b)
fmt.Sscanf("(15, 30)", "(%d, %d)", &a, &b)
log.Printf("a: %d, b: %d", a, b)
// Will not go past the newline, only scans a
fmt.Sscanln("10\n10", &a, &b)
log.Printf("a: %d, b: %d", a, b)
}
作者:098736
项目:zfswatche
// Returns system uptime as time.Duration.
func getSystemUptime() (uptime time.Duration, err error) {
buf, err := ioutil.ReadFile("/proc/uptime")
if err != nil {
return uptime, err
}
var up, idle float64
n, err := fmt.Sscanln(string(buf), &up, &idle)
if err != nil {
return uptime, err
}
if n != 2 {
return uptime, errors.New("failed parsing /proc/uptime")
}
uptime = time.Duration(up) * time.Second
return uptime, nil
}
作者:brechtvd
项目:csa-challeng
func main() {
scanner := bufio.NewScanner(os.Stdin)
timetable := readTimetable(scanner)
var departureStation, arrivalStation, departureTime uint32
for scanner.Scan() {
if len(scanner.Text()) == 0 {
os.Exit(0)
} else {
_, err := fmt.Sscanln(scanner.Text(), &departureStation, &arrivalStation, &departureTime)
if err != nil {
panic(err)
}
timetable.compute(departureStation, arrivalStation, departureTime)
}
}
}
作者:mlafeld
项目:remote_syslog
// Who owns the lockfile?
func (l Lockfile) GetOwner() (*os.Process, error) {
name := string(l)
// Ok, see, if we have a stale lockfile here
content, err := ioutil.ReadFile(name)
if err != nil {
return nil, err
}
var pid int
_, err = fmt.Sscanln(string(content), &pid)
if err != nil {
return nil, err
}
// try hard for pids. If no pid, the lockfile is junk anyway and we delete it.
if pid > 0 {
p, err := os.FindProcess(pid)
if err != nil {
return nil, err
}
err = p.Signal(os.Signal(syscall.Signal(0)))
if err == nil {
return p, nil
}
errno, ok := err.(syscall.Errno)
if !ok {
return nil, err
}
switch errno {
case syscall.ESRCH:
return nil, ErrDeadOwner
case syscall.EPERM:
return p, nil
default:
return nil, err
}
} else {
return nil, ErrInvalidPid
}
panic("Not reached")
}
作者:enricodangel
项目:exercises-in-styl
func main() {
reader := bufio.NewReader(os.Stdin)
tString, _ := reader.ReadString('\n')
t, _ := strconv.Atoi(tString)
for i := 0; i < t; i++ {
nString, _ := reader.ReadString('\n')
n, _ := strconv.Atoi(nString)
}
fmt.Println("Enter text: ")
text2 := ""
fmt.Scanln(text2)
fmt.Println(text2)
ln := ""
fmt.Sscanln("%v", ln)
fmt.Println(ln)
fmt.Println("Hello World!")
}
作者:cdragonki
项目:GoRoo
func SPrintScanPrac12() {
var num1 int
var num2 float32
var s string
input1 := "1\n1.1\nHello"
n, _ := fmt.Sscan(input1, &num1, &num2, &s)
fmt.Println("입력 개수 : ", n)
fmt.Println(num1, num2, s)
input2 := "1 1.1 Hello"
n, _ = fmt.Sscanln(input2, &num1, &num2, &s)
fmt.Println("입력 개개 : ", n)
fmt.Println(num1, num2, s)
input3 := "1,1.1,Hello"
n, _ = fmt.Sscanf(input3, "%d,%f,%s", &num1, &num2, &s)
fmt.Println("입력 갯수 : ", n)
fmt.Println(num1, num2, s)
}
作者:syspr
项目:time-serve
// Read in the offsets for an IP from a file. File name == IP address.
func GetOffset(addr string) (HostOffset, os.Error) {
data, err := ioutil.ReadFile(addr)
o := HostOffset{}
if err != nil {
return o, err
}
str := string(data)
_, err = fmt.Sscanln(str,
&o.Year.Op, &o.Year.Value,
&o.Month.Op, &o.Month.Value,
&o.Day.Op, &o.Day.Value,
&o.Hour.Op, &o.Hour.Value,
&o.Minute.Op, &o.Minute.Value,
&o.Second.Op, &o.Second.Value)
return o, err
}
作者:jemoonki
项目:golangboo
func main() {
var num1 int
var num2 float32
var s string
input1 := "1\n1.1\nHello"
n, _ := fmt.Sscan(input1, &num1, &num2, &s) // 공백, 개행 문자로 구분된 문자열에서 입력을 받음
fmt.Println("입력 개수:", n) // 입력 개수: 3
fmt.Println(num1, num2, s) // 1 1.1 Hello
input2 := "1 1.1 Hello"
n, _ = fmt.Sscanln(input2, &num1, &num2, &s) // 공백으로 구분된 문자열에서 입력을 받음
fmt.Println("입력 개수:", n) // 입력 개수: 3
fmt.Println(num1, num2, s) // 1 1.1 Hello
input3 := "1,1.1,Hello"
n, _ = fmt.Sscanf(input3, "%d,%f,%s", &num1, &num2, &s) // 문자열에서 형식을 지정하여 입력을 받음
fmt.Println("입력 개수:", n) // 입력 개수: 3
fmt.Println(num1, num2, s) // 1 1.1 Hello
}
作者:kangaukj
项目:golan
func main() {
var s1, s2, s3 string
s1 = fmt.Sprint(1, 1.1, "Kinow")
fmt.Println(s1)
s2 = fmt.Sprintln(1, 1.1, "Kinow")
fmt.Println(s2)
s3 = fmt.Sprintf("%d %f %s\n", 1, 1.1, "Kinow")
fmt.Println(s3)
var num1 int
var num2 float32
var s string
input1 := "1\n1.1\nHello"
n, _ := fmt.Sscan(input1, &num1, &num2, &s)
fmt.Println("입력개수:", n)
fmt.Println(num1, num2, s)
num1 = 0
num2 = 0
s = ""
input2 := "1 1.1 Hello"
n, _ = fmt.Sscanln(input2, &num1, &num2, &s)
fmt.Println("입력개수:", n)
fmt.Println(num1, num2, s)
num1 = 0
num2 = 0
s = ""
input3 := "1,1.1,Hello World"
n, _ = fmt.Sscanf(input3, "%d,%f,%s", &num1, &num2, &s)
fmt.Println("입력개수:", n)
fmt.Println(num1, num2, s)
}