MST

星途 面试题库

面试题:Go语言中控制结构嵌套实现文件读取计数

在Go语言中,使用for循环和if条件判断的嵌套,实现从一个文本文件中逐行读取内容,并统计其中包含特定字符串(如 "example")的行数,要求写出完整代码。
29.8万 热度难度
编程语言Go

知识考点

AI 面试

面试题答案

一键面试
package main

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

func main() {
    file, err := os.Open("your_file.txt")
    if err != nil {
        fmt.Println("Error opening file:", err)
        return
    }
    defer file.Close()

    scanner := bufio.NewScanner(file)
    count := 0
    for scanner.Scan() {
        line := scanner.Text()
        if contains(line, "example") {
            count++
        }
    }

    if err := scanner.Err(); err != nil {
        fmt.Println("Error reading file:", err)
        return
    }

    fmt.Printf("Lines containing 'example': %d\n", count)
}

func contains(s, substr string) bool {
    for i := 0; i < len(s)-len(substr)+1; i++ {
        if s[i:i+len(substr)] == substr {
            return true
        }
    }
    return false
}