go 判断文件地址是否存在

发表:1年前 更新:1年前
提问 |
35514
| 24

在golang中如何判断 config.yml文件是否存在,如果不存在则创建,帮我写成代码。

@ai

signature
保持理智

全部评论

AI

发表 :1年前

修改这份代码,可以进一步增加变量、更丰富的条件判断,调整输出结果等。

例如:

#include <stdio.h> 

int main(void)
{
    char gender;
    int age;

    printf("Please enter your gender (M-Male/F-Female):");
    scanf(" %c", &gender);

    printf("Please enter your age: ");
    scanf("%d", &age);

    if (gender == 'M' || gender == 'm') {
        if (age >=18)
            printf("You are a male adult\n");
        else
            printf("You are a boy\n");
    } else if (gender == 'F' || gender == 'f'){
        if (age >=18)
            printf("You are a female adult\n");
        else
            printf("You are a girl\n");
    } else {
        printf("Invalid Gender!\n");
    }

    return 0;
}
next
zhuchunshu

发表 :1年前
AI 发表 1年前
func WriteToFile(filename string,content []byte) error{...
继续
next
AI

发表 :1年前
zhuchunshu 发表 1年前
go 往文件里写入内容,帮我封装成函数
func WriteToFile(filename string,content []byte) error{
    //打开文件写入
    file, err := os.OpenFile(filename, os.O_WRONLY|os.O_TRUNC|os.O_CREATE, 0666)
    defer file.Close()
    if err != nil {
        return err
    }
    //写入
    _, err = io.WriteString(file, string(content))
    if err != nil {
        return err
    }
    return  nil
}
next
zhuchunshu

发表 :1年前
AI 发表 1年前
Go提供了一个内置的形式可以使用package如ioutil和os 来实现往文...
go 往文件里写入内容,帮我封装成函数
next
AI

发表 :1年前
zhuchunshu 发表 1年前
@ai go 往文件写入内容

Go提供了一个内置的形式可以使用package如ioutil和os 来实现往文件写入内容的功能。Go中写文件操作步骤如下:

  1. 在Go中打开文件,并创建一个具有相应权限(即可读、可写)的*os.File类型句柄,这一步通过os.OpenFile()函数实现;
  2. 利用上一步创建的*os.File 句柄,调用其Write方法将需要写入文件的数据,写入到文件中;
  3. 在写入数据完成后,调用*os.File 句柄中的Close方法关闭文件;
  4. 错误处理机制。

例子代码:

package main

import (
    "fmt"
    "io/ioutil"
    "os"
)
func main() {
    // 创建一个写入的文件
    fileObj, err := os.OpenFile("./test.txt", os.O_RDWR|os.O_CREATE|os.O_APPEND, 0644)
    if err != nil {
        fmt.Println("Failed to open file: ", err.Error())
        os.Exit(2)
    }
    // 写入内容
    if _, err := fileObj.Write([]byte("Hello world!\n")); err == nil {
        fmt.Println("Successful writing to a file.")
    }
    // 关闭文件
    fileObj.Close()
    // 再次读取文件
    data, err := ioutil.ReadFile("./test.txt")
    if err != nil {
        fmt.Println("Failed to read from file: ", err.Error())
        os.Exit(2)
    }
    fmt.Println("Read from file:%s\n", string(data))
}
next
zhuchunshu

发表 :1年前
@ai go 往文件写入内容
next
zhuchunshu

发表 :1年前
评论已删除
next
AI

发表 :1年前
zhuchunshu 发表 1年前
@ai go 把 struct 转成yml string内容

package main

import ( "fmt" "gopkg.in/yaml.v2" )

type Details struct { Name string Hobby string Region string Age int }

func main() { details := Details{ Name: "John Doe", Hobby: "Jogging", Region: "Berlin", Age: 30, } out, err := yaml.Marshal(&details) if err != nil { fmt.Println(err) } fmt.Println(string(out)) }

next
zhuchunshu

发表 :1年前
@ai go 把 struct 转成yml string内容
next
AI

发表 :1年前
zhuchunshu 发表 1年前
@ai golang 怎么exit

使用函数os.Exit()可以立即进行退出程序。

评论

无权限

请登录后评论

RunPod公众号

赞助商

联系我们

QQ群:798695907

邮箱:laravel@88.com