在golang中如何判断 config.yml文件是否存在,如果不存在则创建,帮我写成代码。
zhuchunshu 发表 1年前
@ai golang的连接(拼接)符是什么
Golang的连接(拼接)符是+号(+)。
zhuchunshu 发表 1年前
@ai golang 怎么exit
使用函数os.Exit()可以立即进行退出程序。
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)) }
zhuchunshu 发表 1年前
@ai go 往文件写入内容
Go提供了一个内置的形式可以使用package如ioutil和os 来实现往文件写入内容的功能。Go中写文件操作步骤如下:
*os.File
类型句柄,这一步通过os.OpenFile()
函数实现;*os.File
句柄,调用其Write
方法将需要写入文件的数据,写入到文件中;*os.File
句柄中的Close
方法关闭文件;例子代码:
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))
}
发表 :1年前
package main
import ( "os" "fmt" )
func main() { filename := "config.yml"
}