【原创】go语言学习(三)字符串串、时间和日期类型
目录
1.字符串串原理理解析
2. 时间类型
3. 日期类型
字符串串原理理解析
1.字符串串底层就是⼀一个byte数组,所以可以和[]byte类型互相转换
2.字符串串之中的字符是不不能修改的,那怎么修改呢
3.字符串串是由byte字节组成,所以字符串串的⻓长度是byte字节的⻓长度
4.rune类型⽤用来表示utf8字符,⼀一个rune字符由1个或多个byte组成
练习
练习1:写⼀一个程序,对英⽂文字符串串进⾏行行逆序。
练习2:写⼀一个程序,对包含中⽂文的字符串串进⾏行行逆序。
// 逆序字符输出:文中olleh
func testReverseStringV2() {
// rune表示UTF8字符
var str = "hello中文"
// 英文可以用byte
// var r []byte = []byte(str)
var r []rune = []rune(str) for i := 0; i < len(r)/2; i++ {
tmp := r[len(r)-i-1] - r[i]
r[i] = tmp
}
str = string(r)
fmt.Println(str)
}
练习3:写⼀一个程序,判断⼀一个字符串串是否是回⽂文。
// 是否是回文
func testHuiWen() {
// rune表示UTF8字符
var str = "hello中文"
// 英文可以用byte
// var r []byte = []byte(str)
var r []rune = []rune(str) for i := 0; i < len(r)/2; i++ {
tmp := r[len(r)-i-1] - r[i]
r[i] = tmp
}
str2 := string(r)
if str2 == str {
fmt.Println(str, "is huiwen")
} else {
fmt.Println(str, "is not huiwen")
}
}
时间和日期类型
1. time包
2. time.Time类型,⽤用来表示时间
3. 获取当前时间, now := time.Now()
4. time.Now().Day(),time.Now().Minute(),time.Now().Month(),time.Now().Year()
5. 格式化,fmt.Printf(“%02d/%02d%02d %02d:%02d:%02d”, now.Year()…)
6. 获取当前时间戳,time.Now().Unix()。
7. 时间戳转Time类型。
8. 定时器器的简单使⽤用
9. time.Duration⽤用来表示纳秒
10. 一些常量量:
const (
Nanosecond Duration = 1
Microsecond = 1000 * Nanosecond
Millisecond = 1000 * Microsecond
Second = 1000 * Millisecond
Minute = 60 * Second
Hour = 60 * Minute
)
8. 格式化:
now := time.Now()
fmt.Println(now.Format(“02/1/2006 15:04”))
fmt.Println(now.Format(“2006/1/02 15:04”))
fmt.Println(now.Format(“2006/1/02”))
练习1:写⼀一个程序,获取当前时间,并格式化成 2017/06/15 08:05:00形式
//练习1
func testFormat1() {
now := time.Now()
year := now.Year()
month := now.Month()
day := now.Day()
hour := now.Hour()
minute := now.Minute()
// 秒
send := now.Second()
//now.Format 模板格式化,指定2006年1月2日
// timeStr := now.Format("2006/01/02 15:04:05")
timeStr := fmt.Sprintf("%02d/%02d/%02d %02d:%02d:%02d\n", year, month, day, hour, minute, send)
fmt.Printf("time:%s\n", timeStr)
}
练习2:写⼀一个程序,统计⼀一段代码的执⾏行行耗时,单位精确到微秒。
// 程序执行耗时微妙
func testCost() {
start := time.Now().UnixNano()
for i := 0; i < 10; i++ {
time.Sleep(time.Millisecond)
}
end := time.Now().UnixNano()
cost := (end - start) / 1000
// 微秒
fmt.Printf("code cost:%d us", cost)
}
【原创】go语言学习(三)字符串串、时间和日期类型的更多相关文章
- [原创]java WEB学习笔记81:Hibernate学习之路--- 对象关系映射文件(.hbm.xml):hibernate-mapping 节点,class节点,id节点(主键生成策略),property节点,在hibernate 中 java类型 与sql类型之间的对应关系,Java 时间和日期类型的映射,Java 大对象类型 的 映射 (了解),映射组成关系
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- JavaScript 把字符串类型转换成日期类型
今天在写习题时,遇到些小问题,在这里把答案分享给大家,希望能帮助到大家! 一.把字符串转换成日期类型 var str = "1997-3-12"; var d = new Date ...
- golang(3):strings和strconv使用 & 时间和日期类型 & 指针类型 & 流程控制 & 函数
strings和strconv使用 . strings.HasPrefix(s string, prefix string) bool: // 判断字符串s是否以prefix开头 . . string ...
- R语言学习 第十一篇:日期和时间
R语言的基础包中提供了三种基本类型用于处理日期和时间,Date用于处理日期,它不包括时间和时区信息:POSIXct/POSIXlt用于处理日期和时间,其中包括了日期.时间和时区信息.R内部在存储日期和 ...
- python语言学习8——字符串和编码
Unicode编码 计算机只能处理数字,如果要处理文本,就必须把文本转化为数字才能处理 有许多编码标准,但是不同的编码标准有时候会混乱,所以Unicode应运而生 Unicode把所有语言统一到一套编 ...
- C语言学习笔记--字符串
字符串是有序字符的集合,C 语言中没有字符串的概念,而是通过特殊的字符数组模拟字符串,是以'\0'结尾的字符数组. 1.字符数组与字符串 (1)在 C 语言中,字双引号引用的单个或多个字符是一种特殊的 ...
- php学习七:时间和日期
在学习php中的时间和日期的时候,必须要了解什么是时间戳,那么什么是时间戳呢,请看一下的定义 时间戳:从 Unix 纪元(格林威治时间 1970 年 1 月 1 日 00:00:00)到当前时间的秒数 ...
- hibernate Java 时间和日期类型 Hibernate 制图
基础知识: 于 Java 于, 型表示的时间和日期包含: java.util.Date 和 java.util.Calendar. 外, 在 JDBC API 中还提供了 3 个扩展了 java.ut ...
- java时间和日期类型
在java中,代表时间和日期的类型包括:java.util.Date和java.util.Calendar,此外,在JDBC API中还提供了3个扩展类,java.UtilDate类的子类:java. ...
随机推荐
- Linux文件属性整理
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限.为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定.在Linux中我们可以 ...
- 8. Java的运算符
计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量. 我们把运算符具体分为:算数运算符,比较运算符,逻辑运算符,位运算符,赋值运算符,条件运算符,i ...
- 【转载】如何自己DIY组装一台台式电脑
针对很多懂计算机的人员来说,有时候都希望自己DIY组装一台台式机,来达到自己的个性化要求以及省钱.其实自己DIY组装一台电脑也很简单,将相应的CPU处理器.主板.内存条.硬盘.固态硬盘.电脑机箱.屏幕 ...
- Machine Learning Technologies(10月20日)
Linear regression SVM(support vector machines) Advantages: ·Effective in high dimensional spaces. ·S ...
- react-native——tab配置及跳转
在 App 中 tab 是常见的页面类型,在 RN 里使用 react-navigation 可快速地进行 tab 配置. 假设应用有4个页面,两个是tab页面,两个是详情页面. App.js //应 ...
- iOS copy和mutableCopy 整理
copy 和 mutableCopy 你真的理解吗?最近发现很多面试者基本都不能很好地回答这个问题.所以整理一下. copy和mutableCopy的概念: copy 浅拷贝,不拷贝对象本身,仅仅是拷 ...
- MongoDB 无法启动
提示 mongodb Mongod complains that there is no /data/db folder!! 解决方法:http://stackoverflow.com/questio ...
- 基于SpringBoot的多模块项目引入其他模块时@Autowired无法注入其他模块stereotype注解类对象的问题解决
类似问题: 关于spring boot自动注入出现Consider defining a bean of type 'xxx' in your configuration问题解决方案 排查原因总结如下 ...
- javascript_10-函数
函数 //定义函数 0-100 相加 function getSum() { var sum = 0; for (let i = 1; i <= 100; i++) { sum += i; } ...
- C++——流类库和输入/输出
前言 数据是怎么写道磁盘的? 代码里面我们一个读写调用似乎就能将数据从磁盘读写.仿佛代码是直接和磁盘打交道.以我们最常见的笔记本.或台式机的磁盘SATA盘为例,其受南桥上ATA控制器支配,这里面传输的 ...