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的更多相关文章

  1. Red Hat Enterprise Server 6.0 安装Sendmail相关包

    由于需要在Linux服务器(Red Hat Enterprise Linux Server release 6.0)上配置邮件服务,需要安装Sendmail包,一般Sendmail的安装有两种方式:R ...

  2. Maven使用-利用Maven引入相关包(Struts2)

    根据上一篇的项目搭建,接下来引入需要使用Struts2相关包 1,如何利用maven往项目中引入包? maven就像一个导包助手一样,让它知道去哪里拿什么,他就会自动完成需要的包的搬运工作. (1), ...

  3. 通过脚本下载GO被墙或常用的相关包

    脚本描述 脚本依赖环境:Windows,GO,GIT 脚本将创建 temp 目录,并拷贝相关包到第一个 GOPATH 中 可将脚本保存到本地自行添加被墙或者常用的包 完整脚本代码 @echo off ...

  4. windows下数据挖掘相关包numpy、pandas的安装

    安装Anaconda的绕道 这里介绍如何在windows下安装numpy/scipy/matplotlib/pandas/scikit_learn等数据分析相关包 相关环境: win7 64位 pyt ...

  5. Linux下安装python3及相关包

    Python3: sudo apt-get install python3 终端中输入python则进入python2,输入python3则进入python3 安装python2的相关包: sudo ...

  6. golang——随机数(math/rand包与crypto/rand包)

    1.math/rand 包 1.1.math/rand 包实现了伪随机数生成器 1.2.主要方法 (1)func Seed(seed int64) 设置随机种子,不设置则默认Seed(1) (2)fu ...

  7. windows下64位python的安装及机器学习相关包的安装(实用)

    开通博客已久,想了好久决定写个基础的安装教程,望后人少走弯路,也借此希望跟大家多多交流.文中给出的链接默认是基于对python2.7的前提下的包. 1.首先下载64位Python包,进行安装(默认py ...

  8. 安装linux环境及相关包方法

    安装linux系统: 先下载 iso镜像文件,在windows系统下,插入u盘,下载 Ultraiso软件,安装好后,根据 http://jingyan.baidu.com/article/a378c ...

  9. python 关于操作文件的相关模块(os,sys,shutil,subprocess,configparser)

    一:os模块 os模块提供了许多允许你程序与操作系统直接交互的功能 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname&quo ...

  10. R语言数据挖掘相关包总结-转帖

    与数据挖掘有关或者有帮助的R包和函数的集合. 1.聚类 常用的包: fpc,cluster,pvclust,mclust 基于划分的方法: kmeans, pam, pamk, clara 基于层次的 ...

随机推荐

  1. 牛客算法进阶——树形dp

    1. 小G有一个大树(求树的重心) 删除该点后最大连通块的节点数最小 设f[x]表示以x为根的子树大小,那么删除x之后的各子树大小为f[to]和n-f[x] 求max(max(f[to]),n-f[x ...

  2. hbase修改表TTL

    创建表时可以指定TTL create 'test_lwt',{NAME=>'d',TTL=>3600}  设置test_lwt表数据TTL为3600秒 修改已存在的表TTL disable ...

  3. uniapp 中获取微信小程序的原生导航栏高度

    const custom = wx.getMenuButtonBoundingClientRect() // console.log(custom) that.yuansheng= custom.he ...

  4. 【NPDP专项练习】第五章 工具与绩效度量

    第五章 工具与绩效度量 1.这是一种使用一系列的迭代轮数通过专家组对未来可能的一种预测 A 决策一制作方法论 B 德尔菲 C 实施路线 D 组合标准 答案:B 解析 德尔菲流程(DelphiProce ...

  5. IIS添加MIME类型实现未知文件下载

    application/octet-stream 无需重启

  6. 把userId:12323 直接拿到12323

    JSONObject jsonObject1 = JSONObject.parseObject(mqttMessage); MessageVo messageVo =  JSONObject.toJa ...

  7. centos6根分区扩容,非lvm

    1.关闭虚拟机,删除里面的快照,将磁盘扩容 2.根分区为sda3,开机后输入fdisk /dev/sda,d,3删除sda3,然后n,p,3,w创建sda3,扇区的开始位置要一致 3.growpart ...

  8. padding&margin

    margin是盒子的外边距,即盒子与盒子之间的距离,而padding是内边距,是盒子的边与盒子内部元素的距离. 鞋盒里面的鞋到 盒子的距离设置为 padding ,而 鞋盒到鞋架的距离设置为margi ...

  9. nginx 编译安装支持 upload progress module, upload module

    下载地址: wiki.nginx.org/HttpUploadModule wiki.nginx.org/HttpUploadProgressModule 下载后解压至:/usr/src/文件夹下,其 ...

  10. 配置中包含maven属性,在idea中本地启动无法正常获取配置

    1. 本地启动一个spring cloud 项目,无法启动 (注:测试环境正常),且控台无错误日志. 分析:debug 代码发现是配置无法获取. 查看配置获取方式 是 spring config 通过 ...