fmt.Println("hello world")

fmt.Printf("%T",a)打印a 的类型

fmt.Printf("%v",a)打印a 的值

格式化

fmt.Sprintf(格式化形式,参数列表)

格式化样式:字符串形式,格式化动词以%开头。

参数列表:多个参数以逗号分隔,个数必须与格式化样式中的个数一一对应,否则会报错

go的格式化命名延续了C语言的风格:

  1. profile := &struct {
  2. Name string
  3. Age int
  4. }{
  5. Name:"小明",
  6. Age:12,
  7. }
  8. // 在%v的基础上,对结构体字段名和值进行展开
  9. fmt.Printf("%%+v %+v \n",profile) //%+v &{Name:小明 Age:12}
  10. // 输出go语言语法格式的值
  11. fmt.Printf("%%#v %#v \n",profile) //%#v &struct { Name string; Age int }{Name:"小明", Age:12}
  12. // 输出go语言中语法格式的类型
  13. fmt.Printf("%%T %T \n",profile) //%T *struct { Name string; Age int }

base64编码实例

  1. package main
  2. import (
  3. "encoding/base64"
  4. "fmt"
  5. )
  6. func main() {
  7. // 需要处理的字符串,可以是字符串,也可以是二进制数据
  8. str := "hello world"
  9. //编码信息,用标准编码的方法进行编码,传入的字符串需要转换为字节数组才能让这个函数使用
  10. encoding_str := base64.StdEncoding.EncodeToString([]byte(str))
  11. // 输出编码完成的信息
  12. fmt.Println(encoding_str) //aGVsbG8gd29ybGQ=
  13. // 解码信息
  14. data,err := base64.StdEncoding.DecodeString(encoding_str)
  15. //错误处理
  16. if err!=nil{
  17. fmt.Println(err)
  18. }else{
  19. // data 是一个字节数组 ([]byte)
  20. // 转换为字符串
  21. fmt.Println(string(data)) //hello world
  22. fmt.Println(data) //[104 101 108 108 111 32 119 111 114 108 100]
  23. }
  24. }

ini文件说明

由多行文本组成,整个配置由 [] 拆分为多个 段,每个段中又以 = 分割为键和值

ini文件以 ; 置于行首十位注释,那行将不会被处理和识别

操作ini文件的读写

  1. package main
  2. import (
  3. "bufio"
  4. "fmt"
  5. "os"
  6. "strings"
  7. )
  8. func main() {
  9. filename := "F:\\project\\study_go\\从入门到入土\\ini测试.ini"
  10. // 打开文件,如果成功打开,会返回文件句柄,同时返回打开文件时可能发生的错误err
  11. file, err := os.Open(filename)
  12. //文件找不到,即文件打开错误,err将不是nil。
  13. if err != nil {
  14. fmt.Println("文件不存在")
  15. }
  16. //在文件使用完后必须关闭,
  17. defer file.Close()
  18. //go语言中总是将文件以二进制格式打开,bufio包即可以方便的读取二进制文件
  19. // 使用读取器读取文件,传入文件构造成一个读取器
  20. reader := bufio.NewReader(file)
  21. //当前读取的段的名字
  22. var sectionName string
  23. // 构造一个循环,不断的读取文件中的每一行
  24. for {
  25. //从文件中读取字符串,知道碰到 \n ,也就是行结束,这个函数返回读取到的行字符串\n也可能是读取到的错误,离去文件读取完毕
  26. line, err := reader.ReadString('\n')
  27. if err != nil {
  28. break
  29. }
  30. //除去两边的空白,空格,回车符,换行符等
  31. line = strings.TrimSpace(line)
  32. //忽略空行
  33. if line == "" {
  34. continue
  35. }
  36. // 忽略注释
  37. //if string(line)[0] == ";" {
  38. // continue
  39. //}
  40. //读取,判断是否为ini文件的段
  41. if line[0] == '[' && line[len(line)-1] == ']' {
  42. sectionName = line[1 : len(line)-1]
  43. } else if sectionName == "core" { // 键值判断
  44. // 用=切割获取键值对
  45. part := strings.Split(line, "=")
  46. //保证切开的只有1个等号分割的键值情况
  47. if len(part) == 2 {
  48. // 去掉值多余空白
  49. strings.TrimSpace(part[1])
  50. fmt.Println(part[1])
  51. }
  52. }
  53. }
  54. }

fmt的更多相关文章

  1. fmt标签把时间戳格式化日期

    jsp页面标签格式化日期 <%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="f" %> ...

  2. springmvc:jsp fmt标签格式化Date时间,格式化后可以用于页面展示

    java后台的对象时间参数是date类型,在前端想格式化,又是放在input输入框中的 先引入jstl标签库 <%@taglib uri="http://java.sun.com/js ...

  3. fmt 标签格式化 日期

    <td class='center'> <fmt:formatDate value="${RecordMail.SendTime }" pattern=" ...

  4. JSTL中的fmt标签小例子

    <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding= ...

  5. JSTL中fmt标签详解

    一:JSTL格式化标签又称为I18N标签库,主要用来编写国际化的WEB应用,使用此功能可以对一个特定的语言请求做出合适的处理. 例如:中国内地用户将显示简体中文,台湾地区则显示繁体中文,使用I18N格 ...

  6. <fmt:formatDate>标签的输出格式:

    <fmt:formatDate>标签的输出格式:  d   月中的某一天.一位数的日期没有前导零.      dd   月中的某一天.一位数的日期有一个前导零.      ddd   周中 ...

  7. Jsp页显示时间标签JSTL标签 <fmt:formatDate/> 实例大全

    <fmt:formatDate value="${isoDate}" type="both"/>2004-5-31 23:59:59 <fmt ...

  8. html 特殊字符 fmt table A

    html 特殊字符 “&”表示“&” “ ”表示空格 <fmt:bundle basename=""> basename制定配置文件的文件名,无须扩展名 ...

  9. 【GoLang】GoLang fmt 占位符详解

    golang 的fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf. # 定义示例类型和变量 type Human struct { Name string } var peo ...

  10. [原创]java WEB学习笔记52:国际化 fmt 标签,国际化的总结

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

随机推荐

  1. spring cloud微服务实践四

    spring cloud的hystrix还有一个配搭的库hystrix-dashboard,它是hystrix的一款监控工具,能直观的显示hystrix响应信息,请求成功率等.但是hystrix-da ...

  2. java-TheadPoolExecutor

    Executor的两极调度模型 第一级:java多线程程序把应用分解为若干个任务,然后使用用户级的调度器(Executor框架)将这些任务映射为固定数量的线程: 第二级:操作系统内核将这些线程映射到处 ...

  3. 整理下线段树吧 poj hotel

    除了上次的新学的有 区间更新 延迟更新  区间合并 先说下区间更新以及延迟更新吧 既然是对区间的维护 在求解一些问题的时候 有的时候没有必要对所有的自区间都进行遍历 这个时候 延迟标记就派上用场了 ( ...

  4. (十)easyUI之折叠面板+选项卡+树完成系统布局

    一.效果 二 .编码 数据库设计 数据库函数设计,该函数根据父节点id 查询出所有字节点(包括孙子节点) BEGIN #声明两个临时变量 ); ); '; SET tempChd=CAST(rootI ...

  5. 数据仓库之抽取数据:通过openrowset执行存储过程

    原文:数据仓库之抽取数据:通过openrowset执行存储过程 在做数据仓库时,最重要的就是ETL的开发,而在ETL开发中的第一步,就是要从原OLTP系统中抽取数据到过渡区中,再对这个过渡区中的数据进 ...

  6. Window环境下使用多个Git账号(github,gitee,gitlab,gogs等)

    个人电脑之前已经设置好github账号了,公司用的是gitlab私服,一直互不干扰,因为用的是不同的电脑,也就懒得配置git多账户环境.最近看了一下多年空空如也的码云,想着怎么的也会用到gitee来托 ...

  7. [Vuex系列] - Module的用法(终篇)

    于使用单一状态树,应用的所有状态会集中到一个比较大的对象.当应用变得非常复杂时,store 对象就有可能变得相当臃肿.为了解决以上问题,Vuex 允许我们将 store 分割成模块(module).每 ...

  8. apidoc 工具的使用

    使用rest framerok时,需要写API接口文档,此时就需要用到 apidoc(个人觉得这个用的比较顺手) 需要安装nodejs,,, windows 下 1 然后验证是否安装成功  node ...

  9. MySQL数据库---数据库管理

    -- 创建用户,指定明文密码create user 'rose'@'localhost' identified by 'rosepwd'; -- 查看用户是否创建成功select user,host ...

  10. 08_Azkaban案例实践1_Command单一job示例

    1.Azkaban实战 Azkaba内置的任务类型支持command.java 2.Command类型单一job示例 1.创建job描述文件:vi command.job #command.job t ...