当前位置: 首页 > news >正文

服装网站建设方案ppt腾讯企点聊天记录迁移

服装网站建设方案ppt,腾讯企点聊天记录迁移,网站建设渠道代理任务书,怎么弄推广广告文章目录 断言文件打开/关闭文件读取文件写入文件 命令行参数解析Argsflag包 JSON 个人博客:CSDN博客 断言 type Node struct {x inty int }func main() {var a interface{}var n Node Node{1, 2}a nvar b Nodeb a.(Node)fmt.Println(b) }此处我们有一个结构体…

文章目录

    • 断言
    • 文件
      • 打开/关闭文件
      • 读取文件
      • 写入文件
    • 命令行参数解析
      • Args
      • flag包
    • JSON

  • 个人博客:CSDN博客

断言

type Node struct {x inty int
}func main() {var a interface{}var n Node = Node{1, 2}a = nvar b Nodeb = a.(Node)fmt.Println(b)
}
  • 此处我们有一个结构体n给空接口a赋值(空接口没有方法,相当于方法被n给完全实现,所以是可以赋值给接口的),然后我们想把接口赋值给具体的结构体对象,但是,这里会报错,需要使用类型断言的语法。用.(类型)类声明a的类型。

  • 类型断言之后,编译器会判断这个变量是否是指向这个类型,如果是,就转换成这个类型来赋值

  • 就是把抽象的接口转换成具体的类型的方法

  • 如果类型不匹配的话,就会报panic,通过这个方法,可以判断接口个具体类型,执行特定操作

  • if a, flag := u.(xxx); flag == true {xxxx
    } 
    
  • x.(type)会返回类型

文件

打开/关闭文件

import ("fmt""os"
)func main() {f, err := os.Open("E:\\JetBrains\\GoLandSpace\\src\\go_code\\project01\\main\\test.txt")if err != nil {fmt.Println(err)}fmt.Printf("%v", f)err = f.Close()if err != nil {fmt.Println(err)}
}
//返回&{0xc00010c780}
  • 先用os包打开文件,再用方法关闭,上面的绝对路径当中,如果用正斜杠要双写,反斜杠就不用

读取文件

  • import ("bufio""fmt""io""os"
    )func main() {f, err := os.Open("E:/JetBrains/GoLandSpace/src/go_code/project01/main/test.txt")if err != nil {fmt.Println(err)}defer f.Close() //函数推出的时候自动关闭reader := bufio.NewReader(f) //创建一个缓冲区来读入for {str, err := reader.ReadString('\n') //读到换行符就停止if err == io.EOF {break //读到末尾}fmt.Println(str)}fmt.Println("-------------------")
    }
    
  • 首先打开文件,然后按行读取,注意读到EOF要结束死循环

  • ioutil.ReadFile可以一次性读入到一个字节数组内,不过文件需要比较小的情况下使用

写入文件

import ("bufio""fmt""os"
)func main() {filePath := "E:/JetBrains/GoLandSpace/src/go_code/project01/main/a.txt"file, err := os.OpenFile(filePath, os.O_WRONLY|os.O_CREATE, 0666)//后面那个int在windows下无用if err != nil {fmt.Printf("%v", err)return}defer file.Close()str := "ok\n"writer := bufio.NewWriter(file)writer.WriteString(str)writer.Flush() //从缓冲区压入文件}
  • 写入文件的流程也是非常亲切
  • 我们写入写入缓冲区之后,我们必须要flush刷新一下缓冲区,将缓冲区内的字符刷到磁盘上
  • 通过不同的标识符,有追加,截断清除的写入操作
  • 类似的可以拷贝文件,有io.Copy()函数可以更方便地拷贝文件

命令行参数解析

Args

  • os.Args这是go的命令行参数的数组,但是不方便

flag包

flag.StringVar(&xxx, "x", "", "sss")
//第一个变量是传入的值所存的变量的地址,"x"是传入的参数的名字,""是默认值, "sss"是说明
  • 设置完这些变量之后使用flag.parse()来解析命令行的参数

JSON

  • JSON(JavaScript Object Notation)是一种轻量级的数据交换格式 key-val的形式
  • 中括号表示数组,大括号表示对象,一个个的键值对用,号分隔开
  • 序列化方法上面写过了,用json.Marshal()
  • 反序列化用json.Unmarshal([]byte(str), &xxx)
http://www.yayakq.cn/news/352333/

相关文章:

  • 广东智能网站建设配件织梦中英文版网站怎么做
  • 免费做网站软件2003可以营销的十大产品
  • 厦门网站建设公司排名网站的数据库选择
  • 手机网站如何优化国家信用信息公示网
  • 线上维护需要做什么网站seo标题是什么意思
  • 化妆品网站建设可行性报告佛山网站建设团队
  • 公司网站维护与更新嘉伟网络智能建站
  • 世界各大网站搜索引擎提交入口上海公司买房最新政策2021
  • 桂林做网站的公司哪家最好退休领了100万企业年金
  • 有没关于做动画设计师的网站建站公司佛山
  • 镇江网站制作优化培训网站免费
  • 做网站南京毕业设计报告网站开发
  • 泊头网站建设甘肃wordpress是软件不
  • 网站开发的相关网站项目推广计划书
  • 安徽 网站制作wordpress主题404页面
  • 网络营销的网站的分析郑州小程序外包公司
  • 专题研究网站建设工作动态长春做网站seo的
  • 制作网站副本口碑营销怎么做
  • 网站留言表格怎么做撩人的网站怎么做
  • 网站管理工作流程怎么创办网站
  • 昭通微网站建设网站建设一般报价
  • 内容管理系统做网站常用的网站类型有哪些类型有哪些类型
  • 做旅游网站犯法吗小程序开发公司推选北京华网天下
  • 外贸正品网站网页界面设计中一般使用的分辨率是多少
  • 盘锦949公社官方网站可以查企业备案的网站
  • 昌江县住房和城乡建设网站怎么免费建立自己的网站
  • 微信小程序制作视频教程seo排名赚app多久了
  • 网站开发软件怎么做设计自己的签名
  • 千牛网站上的店铺推广怎么做h5商城网站是什么
  • 自学网站有哪些自学网编程软件下载手机版