44. goroutine、channel、time的例子 | 厚土Go学习笔记
时间:2022-05-04
本文章向大家介绍44. goroutine、channel、time的例子 | 厚土Go学习笔记,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
格式化时间样式,利用 goroutine 实现获取和格式化当前时间,并且通过 channel 返回到主函数并打印出来。
在 go 语言中,时间格式化有一个标准时间必须记住 2006-01-02 15:04:05 -0700,为什么是这个时间呢?我们换个样式来看一下 “01-02 03:04:05 pm 2006 -0700”,这就是 1234567啊!当然,-0700说的是时区。
格式化的写法如下
tn := time.Now().Format("2006年01月02日 15点04分05秒.0000000 时区-0700")
为了实现 goroutine ,我们准备一个函数,用通道作为参数。
func timenow(ch chan string) {
tn := time.Now().Format("2006年01月02日 15点04分05秒.0000000 时区-0700")
ch <- tn
}
在主函数中,建立一个通道,并且写一个 10 次的 for 循环来执行 timenow
函数。为了让时间有一个间隔,每次循环,我们间隔 0.5 秒。
ch := make(chan string)
for i := 0; i < 10; i++{
go timenow(ch)
fmt.Println(<-ch)
time.Sleep(500*time.Millisecond)
}
看完整代码
package main
import (
"time"
"fmt"
)
func timenow(ch chan string) {
tn := time.Now().Format("2006年01月02日 15点04分05秒.0000000 时区-0700")
ch <- tn
}
func main() {
ch := make(chan string)
for i := 0; i < 10; i++{
go timenow(ch)
fmt.Println(<-ch)
time.Sleep(500*time.Millisecond)
}
}
运行结果
2017年09月02日 11点49分51秒.3027569 时区+0800
2017年09月02日 11点49分51秒.8839153 时区+0800
2017年09月02日 11点49分52秒.3845286 时区+0800
2017年09月02日 11点49分52秒.8851379 时区+0800
2017年09月02日 11点49分53秒.3851748 时区+0800
2017年09月02日 11点49分53秒.8855677 时区+0800
2017年09月02日 11点49分54秒.3858873 时区+0800
2017年09月02日 11点49分54秒.8861271 时区+0800
2017年09月02日 11点49分55秒.3868477 时区+0800
2017年09月02日 11点49分55秒.8874858 时区+0800
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android 拦截返回键事件的实例详解
- Android自定义可点击的ImageSpan并在TextView中内置View
- Android开发实现带清空按钮的EditText示例
- Android用于校验集合参数的小封装示例
- TextView中URL等指定特殊字符串与点击事件解析
- Android开发实现仿京东商品搜索选项卡弹窗功能
- Android开发中button按钮的使用及动态添加组件方法示例
- Kotlin开发的一些实用小技巧总结
- Android使用URLConnection提交请求的实现
- android原生JSON解析实例
- iOS新闻类App内容页技术探索
- Android仿iphone自定义滚动选择器
- Android仿iPhone日期时间选择器详解
- Android 仿余额宝数字跳动动画效果完整代码
- Android中判断listview是否滑动到顶部和底部的实现方法