fmt
fmt.Println("hello world")
fmt.Printf("%T",a)打印a 的类型
fmt.Printf("%v",a)打印a 的值
格式化
fmt.Sprintf(格式化形式,参数列表)
格式化样式:字符串形式,格式化动词以%开头。
参数列表:多个参数以逗号分隔,个数必须与格式化样式中的个数一一对应,否则会报错
go的格式化命名延续了C语言的风格:
profile := &struct {
Name string
Age int
}{
Name:"小明",
Age:12,
}
// 在%v的基础上,对结构体字段名和值进行展开
fmt.Printf("%%+v %+v \n",profile) //%+v &{Name:小明 Age:12}
// 输出go语言语法格式的值
fmt.Printf("%%#v %#v \n",profile) //%#v &struct { Name string; Age int }{Name:"小明", Age:12}
// 输出go语言中语法格式的类型
fmt.Printf("%%T %T \n",profile) //%T *struct { Name string; Age int }
base64编码实例
package main
import (
"encoding/base64"
"fmt"
)
func main() {
// 需要处理的字符串,可以是字符串,也可以是二进制数据
str := "hello world"
//编码信息,用标准编码的方法进行编码,传入的字符串需要转换为字节数组才能让这个函数使用
encoding_str := base64.StdEncoding.EncodeToString([]byte(str))
// 输出编码完成的信息
fmt.Println(encoding_str) //aGVsbG8gd29ybGQ=
// 解码信息
data,err := base64.StdEncoding.DecodeString(encoding_str)
//错误处理
if err!=nil{
fmt.Println(err)
}else{
// data 是一个字节数组 ([]byte)
// 转换为字符串
fmt.Println(string(data)) //hello world
fmt.Println(data) //[104 101 108 108 111 32 119 111 114 108 100]
}
}
ini文件说明
由多行文本组成,整个配置由 [] 拆分为多个 段,每个段中又以 = 分割为键和值
ini文件以 ; 置于行首十位注释,那行将不会被处理和识别
操作ini文件的读写
package main
import (
"bufio"
"fmt"
"os"
"strings"
)
func main() {
filename := "F:\\project\\study_go\\从入门到入土\\ini测试.ini"
// 打开文件,如果成功打开,会返回文件句柄,同时返回打开文件时可能发生的错误err
file, err := os.Open(filename)
//文件找不到,即文件打开错误,err将不是nil。
if err != nil {
fmt.Println("文件不存在")
}
//在文件使用完后必须关闭,
defer file.Close()
//go语言中总是将文件以二进制格式打开,bufio包即可以方便的读取二进制文件
// 使用读取器读取文件,传入文件构造成一个读取器
reader := bufio.NewReader(file)
//当前读取的段的名字
var sectionName string
// 构造一个循环,不断的读取文件中的每一行
for {
//从文件中读取字符串,知道碰到 \n ,也就是行结束,这个函数返回读取到的行字符串\n也可能是读取到的错误,离去文件读取完毕
line, err := reader.ReadString('\n')
if err != nil {
break
}
//除去两边的空白,空格,回车符,换行符等
line = strings.TrimSpace(line)
//忽略空行
if line == "" {
continue
}
// 忽略注释
//if string(line)[0] == ";" {
// continue
//}
//读取,判断是否为ini文件的段
if line[0] == '[' && line[len(line)-1] == ']' {
sectionName = line[1 : len(line)-1]
} else if sectionName == "core" { // 键值判断
// 用=切割获取键值对
part := strings.Split(line, "=")
//保证切开的只有1个等号分割的键值情况
if len(part) == 2 {
// 去掉值多余空白
strings.TrimSpace(part[1])
fmt.Println(part[1])
}
}
}
}
fmt的更多相关文章
- fmt标签把时间戳格式化日期
jsp页面标签格式化日期 <%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="f" %> ...
- springmvc:jsp fmt标签格式化Date时间,格式化后可以用于页面展示
java后台的对象时间参数是date类型,在前端想格式化,又是放在input输入框中的 先引入jstl标签库 <%@taglib uri="http://java.sun.com/js ...
- fmt 标签格式化 日期
<td class='center'> <fmt:formatDate value="${RecordMail.SendTime }" pattern=" ...
- JSTL中的fmt标签小例子
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding= ...
- JSTL中fmt标签详解
一:JSTL格式化标签又称为I18N标签库,主要用来编写国际化的WEB应用,使用此功能可以对一个特定的语言请求做出合适的处理. 例如:中国内地用户将显示简体中文,台湾地区则显示繁体中文,使用I18N格 ...
- <fmt:formatDate>标签的输出格式:
<fmt:formatDate>标签的输出格式: d 月中的某一天.一位数的日期没有前导零. dd 月中的某一天.一位数的日期有一个前导零. ddd 周中 ...
- Jsp页显示时间标签JSTL标签 <fmt:formatDate/> 实例大全
<fmt:formatDate value="${isoDate}" type="both"/>2004-5-31 23:59:59 <fmt ...
- html 特殊字符 fmt table A
html 特殊字符 “&”表示“&” “ ”表示空格 <fmt:bundle basename=""> basename制定配置文件的文件名,无须扩展名 ...
- 【GoLang】GoLang fmt 占位符详解
golang 的fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf. # 定义示例类型和变量 type Human struct { Name string } var peo ...
- [原创]java WEB学习笔记52:国际化 fmt 标签,国际化的总结
本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...
随机推荐
- Codeforces 1245 D. Shichikuji and Power Grid
传送门 经典的最小生成树模型 建一个点 $0$ ,向所有其他点 $x$ 连一条边权为 $c[x]$ 的边,其他任意两点之间连边,边权为 $(k_i+k_j)(\left | x_i-x_j\right ...
- 怎样理解new命令的执行过程
通过new命令生成一个实例对象经历了四个步骤: 1. 创建一个空对象, 作为将要返回的实例; 2. 将空对象的原型指向构造函数的prototype属性; 3. 将空对象赋值给构造函数的this; 4. ...
- Linux自动运维工具Ansible的使用
Linux自动运维工具Ansible的使用 我们熟悉这个工具后, 可以很轻松的安装k8s. 一.介绍 ansible - run a task on a target host(s) Ansible是 ...
- 在论坛中出现的比较难的sql问题:9(触发器专题 插入数据自动更新表数据)
原文:在论坛中出现的比较难的sql问题:9(触发器专题 插入数据自动更新表数据) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了. 所 ...
- Rider开发开发.NET Framework 4.5项目遇到的一些问题
使用rdier自带resharper功能,蛮爽的但是编译旧的项目时一直报错:Invalid option 'portable' for /debug; must be full or pdbonly' ...
- Julia 学习
Julia 1.1 中文文档 Julia 中的数据可视化 --初探 一个简单的Julia教程(一) juliapro下载链接
- ip地址、域名、DNS、URL(即网址)的区别与联系
域名和ip ================================================================ 我们也知道每一台机都有一个唯一ip地址, 特别难记,所以出 ...
- 19C imp 导入合并表空间
因为项目需要从9i 导数据到18C,所以发现如下特性 1.18C imp 导入数据,如果表空间在目标库没有,会将表导入到用户默认表空间 2.18C imp 导入数据,如果表空间在目标库有,但缺少权限. ...
- Metasploit Penetration (第一夜加班)
1.最近白天瞒着上班,晚自习看英语,还要瞒着写论文(现在是看,之前的部分章节被老师否定了,现在开始要从新进行整理)所以只有这晚上来开始看我的渗透测试了,发现渗透的很多知识,只要你平时不用很快就会生疏, ...
- 初级文件IO——IO过程、open、close、write、read、lseek、dup、dup2、errno、perror
先要回答的问题 文件IO指的是什么? 本文主要讲述如何调用Linux OS所提供的相关的OS API,实现文件的读写. 如何理解文件IO? IO就是input output的意思,文件io就是文件输入 ...