go的相关包time、os、rand、fmt
time
1、time包
2、time.Time类型, 用来表示时间
3、取当前时间, now := time.Now()
4、time.Now().Day(),time.Now().Minute(),time.Now().Month(),time.Now().Year(),
- second := now.Unix() //按秒计
5、格式化,fmt.Printf(“%02d/%02d%02d %02d:%02d:%02d”, now.Year()…)
- package main
- import(
- "time"
- "fmt"
- )
- func testTime() {
- for {
- now := time.Now()
- fmt.Printf("type of now is:%T\n", now)
- year := now.Year()
- month := now.Month()
- day := now.Day()
- str := fmt.Sprintf("%04d-%02d-%02d %02d:%02d:%02d\n", year, month, day, now.Hour(), now.Minute(), now.Second())
- fmt.Println(str)
- fmt.Printf("timestamp:%d\n", now.Unix()) //时间戳
- }
- }
6、time.Duration 用来表示纳秒
7、 一些常量量:
const (
Nanosecond Duration = 1
Microsecond= 1000 * Nanosecond //纳秒
Millisecond= 1000 * Microsecond //微妙
Second= 1000 * Millisecond //毫秒
Minute= 60 * Second
Hour= 60 * Minute
)
- package main
- import(
- "time"
- "fmt"
- )
- func testTimeConst() {
- fmt.Printf("Nanosecond :%d\n", time.Nanosecond) //1
- fmt.Printf("Microsecond:%d\n", time.Microsecond) //1000
- fmt.Printf("Millisecond:%d\n", time.Millisecond) //1000000
- fmt.Printf("second :%d\n", time.Second)
- fmt.Printf("Minute :%d\n", time.Minute)
- fmt.Printf("Hour :%d\n", time.Hour)
- }
8. 格式化:
now := time.Now()
fmt.Println(now.Format(“02/1/2006 15:04:05”)) //02/1/2006 03:04:05 十二小时制
fmt.Println(now.Format(“2006/1/02 15:04:05”))
fmt.Println(now.Format(“2006/1/02”))
- package main
- import(
- "time"
- "fmt"
- )
- func main() {
- now := time.Now()
- str := now.Format("2006-01-02 03:04:05")
- fmt.Printf("format result:%s\n", str)
- }
练习:写 一个程序,统计一段代码的执行耗时,单位精确到微秒
- package main
- import(
- "time"
- "fmt"
- )
- func main() {
- start := time.Now().UnixNano() //纳秒为单位
/*- 业务代码
- */
- time.Sleep(10*time.Millisecond)
- end := time.Now().UnixNano()
- cost := (end - start)/1000
- fmt.Printf("cost:%dus\n", cost)
- }
os
- package main
- import (
- "fmt"
- "os"
- )
- func main() {
- var goos string = os.Getenv("OS") //操作系统的名字
- fmt.Printf("The operating system is: %s\n", goos)
- path := os.Getenv("PATH") //GOPATH的路径
- fmt.Printf("Path is %s\n", path)
- }
math/rand
fmt
各种方法集合:

格式化输出:
- package main
import "fmt"
func main() {
var a int = 100
var b bool
c := 'a'
fmt.Printf("%+v\n", a) //类似%v,但输出结构体时会添加字段名
fmt.Printf("%#v\n", b) //相应值的Go语法表示
fmt.Printf("%T\n", c) //值的类型的Go语法表示
fmt.Printf("90%%\n") //字面上的%
fmt.Printf("%t\n", b) //布尔值
fmt.Printf("%b\n", 100) //二进制
fmt.Printf("%f\n", 199.22) //浮点型,有小数点,但没有指数
fmt.Printf("%q\n", "this is a test") //双引号围绕的字符字面值
fmt.Printf("%x\n", 39839333) //每个字节用两字符十六进制数表示(使用a-f)
fmt.Printf("%p\n", &a) //传入指针,表示为十六进制,并加上前导的0x
fmt.Printf("%c\n", 87) //相应Unicode码所表示的字符
str := fmt.Sprintf("a=%d", a) // 将a转化为字符串
fmt.Printf("%q\n", str)
}
格式化输入:
- package main
import "fmt"
var number int
var str string
func main() {
fmt.Scanf("%d", &number)
fmt.Scanf("%s", &str)
fmt.Println(number, str)
}
go的相关包time、os、rand、fmt的更多相关文章
- Red Hat Enterprise Server 6.0 安装Sendmail相关包
由于需要在Linux服务器(Red Hat Enterprise Linux Server release 6.0)上配置邮件服务,需要安装Sendmail包,一般Sendmail的安装有两种方式:R ...
- Maven使用-利用Maven引入相关包(Struts2)
根据上一篇的项目搭建,接下来引入需要使用Struts2相关包 1,如何利用maven往项目中引入包? maven就像一个导包助手一样,让它知道去哪里拿什么,他就会自动完成需要的包的搬运工作. (1), ...
- 通过脚本下载GO被墙或常用的相关包
脚本描述 脚本依赖环境:Windows,GO,GIT 脚本将创建 temp 目录,并拷贝相关包到第一个 GOPATH 中 可将脚本保存到本地自行添加被墙或者常用的包 完整脚本代码 @echo off ...
- windows下数据挖掘相关包numpy、pandas的安装
安装Anaconda的绕道 这里介绍如何在windows下安装numpy/scipy/matplotlib/pandas/scikit_learn等数据分析相关包 相关环境: win7 64位 pyt ...
- Linux下安装python3及相关包
Python3: sudo apt-get install python3 终端中输入python则进入python2,输入python3则进入python3 安装python2的相关包: sudo ...
- golang——随机数(math/rand包与crypto/rand包)
1.math/rand 包 1.1.math/rand 包实现了伪随机数生成器 1.2.主要方法 (1)func Seed(seed int64) 设置随机种子,不设置则默认Seed(1) (2)fu ...
- windows下64位python的安装及机器学习相关包的安装(实用)
开通博客已久,想了好久决定写个基础的安装教程,望后人少走弯路,也借此希望跟大家多多交流.文中给出的链接默认是基于对python2.7的前提下的包. 1.首先下载64位Python包,进行安装(默认py ...
- 安装linux环境及相关包方法
安装linux系统: 先下载 iso镜像文件,在windows系统下,插入u盘,下载 Ultraiso软件,安装好后,根据 http://jingyan.baidu.com/article/a378c ...
- python 关于操作文件的相关模块(os,sys,shutil,subprocess,configparser)
一:os模块 os模块提供了许多允许你程序与操作系统直接交互的功能 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname&quo ...
- R语言数据挖掘相关包总结-转帖
与数据挖掘有关或者有帮助的R包和函数的集合. 1.聚类 常用的包: fpc,cluster,pvclust,mclust 基于划分的方法: kmeans, pam, pamk, clara 基于层次的 ...
随机推荐
- 深度剖析生产工厂用ERP系统进行管理有哪些优势
对于生产制造企业而言,生产现场管理永远是其得以健康发展的重要环节.现场是产品开发和生产的场所,企业要降低成本.按期交付产品,以及产品质量要达到客户所期望的要求和水平,这一切都要在现场实现,企业也正是从 ...
- go 语言操作es示例
使用高度封装的 orm 查询 package main import ( "context" "fmt" "log" "os&qu ...
- 浪潮QQ群成员提取器 V2022
浪潮QQ群成员提取软件 V2021 最新升级版 使用扫描安全登录QQ,批量获取群列表,然后在读取指定群的群成员列表支持过滤群主.群管理员 支持按最后发言时间提取活跃用户 支持识别僵尸粉和过滤可以导出文 ...
- EMQX Cloud Serverless 正式上线:三秒部署、按量计费的 MQTT Serverless 云服务
近日,全球领先的开源物联网数据基础设施软件供应商 EMQ 正式发布了 MQTT Serverless 云服务 -- EMQX Cloud Serverless 的 Beta 版本,开创性地采用弹性多租 ...
- 渗透测试工具sqlmap基础教程 【转】
转载请注明出处:http://blog.csdn.net/zgyulongfei/article/details/41017493 作者:羽龍飛 本文仅献给想学习渗透测试的sqlmap小白,大牛请绕过 ...
- mysql8 更改root密码(windows)
1.停止服务 net stop mysql; 2.控制台输入 mysqld --console --shared-memory --skip-grant-tables 3.重新打开一个窗口,进入bin ...
- ubuntu18 build opencv4 from source
1 安装依赖 ## Install dependencies sudo apt -y install build-essential checkinstall cmake pkg-config yas ...
- Linux下mysql安装教程
一 环境准备 1.检查是否已经安装过mysql,执行命令 [root@localhost /]# rpm -qa | grep mysql 从执行结果,可以看出我们已经安装了mysql-libs-5. ...
- leetcode 655. 输出二叉树 【时间击败100.00%】 【内存击败96.49%】
1 public List<List<String>> printTree(TreeNode root) { 2 ArrayList<List<String> ...
- drf从入门到飞升仙界 06
模型类准备 from django.db import models # 图书跟作者:多对多,需要建立中间表,但是我们可以通过ManyToManyField自动生成,写在哪里都行 # 图书跟出版社:一 ...