• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Go面向对象编程创建单文件小工具(初学编程实验)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

面向对象编程对我来说最直观的就是,就是创建了一个对象,这个对象能调用各种以它为基础创建的各类方法

 

Newfile就是对象不过我只定义了一部分参数,文件名字让我拿出去单独使用了。

package util

import (
    "fmt"
    "os"
)

type file_name struct {
    filename string
    key      int
    loop     bool
}

func Newfile() *file_name {
    return &file_name{
        key:  0,
        loop: true,
    }
}

func (f *file_name) isExitsfile() {
    
    _, err := os.Stat(f.filename)
    if err == nil {
        fmt.Println("文件存在")
    }
    //如果文件err为空则表示文件存在
    if os.IsExist(err) {
        fmt.Println("文件不存在")
    }
}

func (f *file_name) createfile() {
    fmt.Scanln(&f.filename)
    file, err := os.Create(f.filename)
    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Println(f.filename, "已经创建")
        file.Close()
    }
}

func (f *file_name) deletefile() {
    fmt.Scanln(&f.filename)
    err := os.Remove(f.filename)
    if err != nil {
        fmt.Println(err)
    } else {
        fmt.Println("删除成功")
    }
}

func (f *file_name) exit() {
    fmt.Println("y|n")
    choice := ""
    for {
        fmt.Scanln(&choice)
        if choice == "y" || choice == "n" {
            break
        }
    }
    if choice == "y" {
        f.loop = false
    }
}

func (f *file_name) Mainmenu() {
    for {
    start:
        fmt.Print("########################################\n", "1.创建文件\n", "2.检查文件是否存在\n", "3.删除文件\n", "4.返回\n", "5.退出\n", "########################################\n")
        fmt.Print("请输入选项:")
        fmt.Scanln(&f.key)
        switch f.key {
        case 1:
            f.createfile()
        case 2:
            f.isExitsfile()
        case 3:
            f.deletefile()
        case 4:
            goto start
        case 5:
            f.exit()
        default:
            fmt.Println("输入错误")
        }
        if !f.loop {
            break
        }
    }
}

 

package main

import (
    "util"
)

func main() {
    util.Newfile().Mainmenu()
}

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
首页被改成www.go2000.com的解决方法发布时间:2022-07-10
下一篇:
Go中的结构体发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap