Go语言中文网 为您找到相关结果 128

Go语言 time时间格式转换

最近做项目用到golang语言,遇到时间格式相互转换的问题,参考网上资料自己写了代码测试了下,能够成功转换,把代码贴出来以备后用,也供需要者查看。 // time_format.go package main import ( "fmt" "time" ) func main() { fmt.Println("Hello World!") //返回现在时间 tNow := time.Now() //时间转化为string,layout必须为 "2006-01-02 15:04:05" timeNow := tNow.Format("2006-01-02 15:04:05") fmt.Println("tNow(time format...阅读全文

博文 2015-06-17 23:00:50 qq_534019165

golang 格式化时间为字符串

package main import ( "fmt" "reflect" "time" ) func main() { //格式化字符串为时间 test, _ := time.Parse("2006-01-02", "2013-11-11") //时间增加 after, _ := time.ParseDuration("15m") fmt.Println(test) test = test.Add(after) fmt.Println(test) //格式化时间为字符串 t3 := test.Format("2006-01-02 15:04:05") fmt.Println(t3) //格式化时间为字符串,只保留年月日 t3 = test.Format("2006-01-02") fmt....阅读全文

博文 2014-10-04 19:26:12 forrestsun

golang simplejson 使用笔记

第一步,得到json的内容 contents, _ := ioutil.ReadAll(res.Body) js, js_err := simplejson.NewJson(contents) 第二部,根据json的格式,选择使用array或者map储存数据 var nodes = make(map[string]interface{}) nodes, _ = js.Map() 第三步,将nodes当作map处理即可,如果map的value仍是一个json机构,回到第二步。 for key,_ := range nodes { ... ...阅读全文

博文 2015-06-17 20:17:46 iluckyning

golang的跨域

在使用golang做web的应用程序的时候,最容易碰到跨域问题了,跨域就是www.a.com访问www.b.com的文件。但是在浏览器里,为了安全起见,这样做是不允许的,这就是js的同源策略了。不懂的话google一下。1.golang做web的应用程序,不用使用像apache的web服务器,因为它自己可以构造一个web服务器。这样问题就来了,因为你使用js做前台,golang做后台,这样js传值的时候,是可以传到服务器的,并且是可以进行跨域访问的,因为golang构造的服务器与你前台就造成了跨域问题了。而ajax传值是传到服务器端的,并且可以进行跨域访问,所以我在开发的时候果断使用了它。 2而在golang接受传值之后,要返回信息给前台,这是golang里面就要设置可以进行跨域访了。设置就...阅读全文

博文 2015-10-22 19:00:02 helloworld20102010

golang 格式化打印struct

//type:interface value:sturct func PrintStruct(t reflect.Type, v reflect.Value, pc int) { fmt.Println("") for i := 0; i < t.NumField(); i++ { fmt.Print(strings.Repeat(" ", pc), t.Field(i).Name, ":") value := v.Field(i) PrintVar(value.Interface(), pc+2) fmt.Println("") } } func PrintArraySlice(v reflect.Value, pc int) { for j := 0; j < v.Len(); j++ ...阅读全文

博文 2015-01-25 03:00:02 yumuxu

golang json 格式文件解析

package main import ( "bytes" "encoding/json" "fmt" "log" "os" "regexp" "time" ) const configFileSizeLimit = 10 << 20 var defaultConfig = &struct { netTimeout int64 fileDeadtime string }{ netTimeout: 15, fileDeadtime: "24h", } //有了`json:network`这种注释,后面json解析就可以把相应的数据塞到对应的结构里面来 type Config struct { Network NetworkConfig `json:network` Files []FileCo...阅读全文

Go学习笔记:time包使用

摘要: 和python一样,golang时间处理还是比较方便的,以下按照之前python的时间处理展开 golang时间处理 相关包 "time" 时间戳 当前时间戳 fmt.Println(time.Now().Unix()) # 1389058332 str格式化时间 当前格式化时间 fmt.Println(time.Now().Format("2006-01-02 15:04:05")) // 这是个奇葩,必须是这个时间点, 据说是go诞生之日, 记忆方法:6-1-2-3-4-5 # 2014-01-07 09:42:20 时间戳转str格式化时间 str_time := time.Unix(1389058332, 0).Format("2006-01-02 15:04:05") fm...阅读全文

博文 2016-10-11 07:08:41 qdx411324962

golang template 例子

golang的template包很好用,做一些复杂的文本格式生成太有帮助了,生成网页也是很不错的,使用起来非常方便. package main import ( "fmt" "os" "text/template" ) type Latlng struct { Lat float32 Lng float32 } func (latlng Latlng) String() string { return fmt.Sprintf("%g/%g", latlng.Lat, latlng.Lng) } func main() { data := []template.FuncMap{} data = append(data, template.FuncMap{"name":"dotcoo1", "u...阅读全文

博文 2014-10-05 19:42:32 DarkWingBoy

go实用小技能-自定义log输出格式

我们在使用go开发项目的时候,常常需要使用log包输出日志,go自带的log包默认输入格式为:时间+内容。 其实go还提供了几个很简单的输出选项 const ( Ldate = 1 << iota // 日期: 2009/01/23 Ltime // 时间: 01:23:23 Lmicroseconds // 微秒: 01:23:23.123123. Llongfile // 路径+文件名+行号: /a/b/c/d.go:23 Lshortfile // 文件名+行号: d.go:23 LUTC // 使用标准的UTC时间格式 LstdFlags = Ldate | Ltime // 默认 ) package main import ( "log" ) func main() { Ldef...阅读全文

博文 2016-12-22 09:00:02 dogo_小小人物

golang json解析之大小写

package main import ( "encoding/json" "fmt" _ "time" ) type Header struct { FileName string Host string Offset string Timestamp string } type JsonData struct { header string `json:"xx"` Body string `json:"body"` } func main() { testJson() } func testJson() { var Data JsonData /*time1 := time.Now().Unix() x := Header{FileName: "yangheng", Host: "loc...阅读全文

博文 2015-10-13 21:00:16 webyh

golang时间格式化

golang中如何输入当前时间 package main import( "fmt" "time" ) func main(){ t := time.Now() y,m,d := t.Date() today := time.Now().Format("2006-01-02") datetime := time.Now().Format("2006-01-02 15:04:05")//后面的参数是固定的 否则将无法正常输出 fmt.Println("time is : ",t ) fmt.Println("y m d is : ",y,m,d ) fmt.Println("now is :",today) fmt.Println("now is :",datetime) ...阅读全文

博文 2015-06-17 20:04:06 herohenu

golang http content_type

1.如果没有指定content_type的话,http包会查看文件的前512 byte,从而推测文件类型。 2.常用类型为: text/html 返回网页格式。text/plain 返回文本格式,也就说不会解析html。application/octet-stream 一般都是二进制格式,可用来下载。(这个有点复杂,不是很清楚) image/***audio/***video/**...阅读全文

博文 2015-06-17 20:17:44 rufidmx

golang 入门之struct继承,嵌套

package main import "fmt" type Jocongmin struct{ Name string Home string Want string } func (j *Jocongmin) SayName() string{ //这里定义的方法是拓展方法,是对Jocongmin这个struct的继承,也就是struct多了一个Say..方法,可以通过Jocongmin这个struct实例来调用 return "我的名字是"+j.Name } func (j *Jocongmin) SayHome() string{ return "我的家在"+j.Home } func (j *Jocongmin) SayWant() string{ return "我的喜爱是"+j...阅读全文

博文 2017-09-30 09:30:01 jocongmin

golang实现任意日期格式转换标准日期格式

*Fork了别人一个Repository 日期解析* 这个package的功能很简单就是将一个未知的日期格式转化为标准的日期格式,日常生活中可以作为日期的数据清洗,接下来将开发以此Repository为基础,支持可配置的自动识别日期格式的功能,Repository正在开发中,有兴趣的小伙伴可以随时提PR,共同完善,共同学习。 Repository地址: noaway/dateparse ( http://link.zhihu.com/?target=https%3A//github.com/noaway/dateparse ) 具体的使用方式如下: package main import ( "flag" "fmt" "time" "github.com/apcera/termtables"...阅读全文

博文 2017-11-23 09:56:16 诺唯

golang 中的日期时间

Golang 中的日期和时间 包名 time 当前时间 time.Now() 当前时间戳 time.Now().Unix() 时间格式化string time.Now().Format("2006-01-02 15:04:05") time.Now().Format("2006-01-02") 时间戳格式化到string str_time := time.Unix(1389058332, 0).Format("2006-01-02 15:04:05") string 转化到 时间 以上是时间转化 接下来是总会用到的特殊事件 现在时间 time.Now() 今天00:00:00 now := time.Now() year, month, day := now.Date() today_str...阅读全文

博文 2015-06-17 20:04:34 csapr1987

golang – fmt 格式化参数

文 基本 %v the value in a default format when printing structs, the plus flag (%+v) adds field names %#v a Go-syntax representation of the value %T a Go-syntax representation of the type of the value %% a literal percent sign; consumes no value The default format for %v is: bool: %t int, int8 etc.: %d uint, uint8 etc.: %d, %#x if printed with %#v floa...阅读全文

博文 2017-04-30 12:00:24 中柠檬

golang学习之奇葩的time format

golang格式化时间时,比如如下格式进行格式化输出: fmt.Println(time.Now().Format("2007年03月")) 程序直接输出: 16007年02月 很奇葩,但是若改成: fmt.Println(time.Now().Format("2006年01月")) 程序正确输出: 2016年06月 据说是go诞生日期,只认这个,更详细的时间是: fmt.Println(time.Now().Format("2006-01-02 15:04:05")) 2016-06-16 14:18:1...阅读全文

博文 2016-06-17 03:00:01 caiya928

errors.New() 方法返回的是什么?

```golang package errors // New returns an error that formats as the given text. // New 返回一个给定文本格式的错误。 func New(text string) error { return &errorString{text} } // errorString is a trivial implementation of error. // errorString 是 error 的一个琐碎的实现。 type errorString struct { s string } func (e *errorString) Error() string { r...阅读全文

golang的json的时间格式化解决方案

golang的json的时间格式化解决方案 1.通过数据查询的时候指定号格式,这样就不要再转格式了 2.通过time.Time类型穿件别名,然后为这个别名类实现MarshalJSON方法。 以下来自golang的原来注释 If an encountered value implements the Marshaler interface // and is not a nil pointer, Marshal calls its MarshalJSON method // to produce JSON. If no MarshalJSON method is present but the // value implements encoding.TextMarshaler instead...阅读全文

博文 2016-11-08 06:00:05 u013163178

golang实现dns域名解析(一)

本文将详细讲解如何用go语言一步一步实现dns域名解析的过程,并简单介绍点dns有关的知识,直接开始正题吧。 首先我们要了解dns解析的过程,没有了解的请看这里DNS入门(转)很详细。扫盲结束后,我们需要了解下dns报文格式,知道了报文的格式是怎样的,才可以写代码构造dns请求包: dns请求和应答都是用相同的报文格式,分成5个段(有的报文段在不同的情况下可能为空),如下: Header段是报文的头部,它定义了报文是请求还是应答,也定义了其他段是否需要存在,以及是标准查询还是其他。 Header包含如下字段: 各字段分别解释如下: ID:请求客户端设置的16位标示,服务器给出应答的时候会带相同的标示字段回来,这样请求客户端就可以区分不同的请求应答了。 QR:1个比特位用来区分是请求(0)还是...阅读全文

博文 2017-06-04 04:46:07 chase-wind

golang时间正反格式化

在工作中遇到要将时间格式化,就整理了下时间正反格式化: //当前时间戳 fmt.Println(time.Now().Unix()) //当前时间戳格式化 fmt.Println(time.Now().Format("2006-01-02 15:04:05")) //时间戳格式化 str_time := time.Unix(1389058332, 0).Format("2006-01-02 15:04:05") fmt.Println(str_time) //时间反格式化成时间戳(月份必须是month) the_time := time.Date(2016, 1, 5, 0, 0, 0, 0, time.Local) unix_time1 := the_time.Unix() fmt.Pri...阅读全文

博文 2016-07-05 05:00:10 weidao

golang中获取当前时间

package main import ( "fmt" "time" ) func main() { t := time.Now() fmt.Println(t.Format("20060102150405")) //当前时间戳 t1 := time.Now().Unix() fmt.Println(t1) //时间戳转化为具体时间 fmt.Println(time.Unix(t1, 0).String()) //基本格式化的时间表示 fmt.Println(time.Now().String()) fmt.Println(time.Now().Format("2006year 01month 02day")) ...阅读全文

博文 2019-03-21 00:34:40 时间里的小恶魔

打印结果出现%!(EXTRA 是什么意思?

代码如下: ``` func main(){ fmt.Printf("hello world.你好,世界!") var v1, v2, v3 int var str1 string = "000" var str2 = "123" str3 := "321" fmt.Printf("hello world. 你好中国 %d %d %d\n", v1, v2, v3) fmt.Printf(str1, str2, str3) } ``` - 输出结果如下: hello world.你好,世界!hello world. 你好中国 0 0 0 000**%!(EXTRA **string=123, string=321) Process finish...阅读全文

go的变量、常量、类型别名

go语言的基本类型如下: 类型变量 实例代码: package main import "fmt" /*所有变量都可使用类型推断 全局变量必须使用var可以var(),可并行,可推断 局部变量不可使用var(),只可并行,可推断 */ func main() { //bool布尔型--先声明后赋值 var a bool fmt.Println(a) a = true fmt.Println(a) //int8/uint8--声明并赋值 var b int8 = -128 var b1 uint8 = 255 fmt.Println(b) fmt.Println(b1) //byte(uint8别名)类型--系统推测类型方式 var c1 = 255 var c2 byte = 255 fmt...阅读全文

博文 2016-08-24 10:00:03 u013210620

【Go】 格式处理

格式化字符串 在golang里面获取时间戳并不难。只要加载time包。time.Now().Unix() fmt.Sprintf("%d",int64),自此,go语言的int转换成string有3种方法 1、int32位,strconv.Itoa2、大于32位,strconv.FormatInt()3、万恶的fmt.Sprintf...好吧,这个我在php里是经常用来做格式化 引入strings包 strings.contains() index() indexany() indexFunc() 正则表达式 DFANFABacktrackin...阅读全文

博文 2015-07-06 03:00:00 viewcozy

Go 实现的轻量级的 config 库go-conf

go-conf 是使用 Go 实现的一个轻量级的 config 库,参考了 ozzo-config 的设计,但具有更优的性能和支持动态移植配置的功能。 go-conf 采用 MIT 开源协议。 从配置文件中读取配置,默认支持 JSON 格式文件,提供了接口,也可非常方便地扩展支持其他格式配置文件; 可将一个 go 的结构体数据直接动态移植到 config 实例中; 不需要提前构建结构体就可以直接获取你想要的数据...阅读全文

golang 读写文件内容(备份)

以下是读取文件内容package main import ( "bufio" "fmt" "io" "os" "strings" ) func main() { fh, ferr := os.Open("d:\\n.txt") if ferr != nil { fmt.Printf("An error occurred on opening the inputfile\n" + "Does the file exist?\n" + "Have you got acces to it?\n") return } defer fh.Close() inputread := bufio.NewReader(fh) for { input, ferr := inputread.ReadString(...阅读全文

博文 2015-06-17 20:17:41 yatere

golang -- 时间日期总结

golang时间处理 相关包 "time" 时间戳 当前时间戳 ? 1 2 fmt.Println( time .Now().Unix()) # 1389058332 str格式化时间 当前格式化时间 ? 1 2 fmt.Println( time .Now().Format( "2006-01-02 15:04:05" )) // 这是个奇葩,必须是这个时间点, 据说是go诞生之日, 记忆方法:6-1-2-3-4-5 # 2014-01-07 09:42:20 时间戳转str格式化时间? 1 2 3 str_time := time .Unix(1389058332, 0).Format( "2006-01-02 15:04:05" ) fmt.Println(str_time) # 20...阅读全文

博文 2015-08-31 15:00:01 徐学良

go 对 json 的处理

json不用多说,一种跨语言的交换协议,这里探讨一下Go语言对json的支持。 Go对于json有官方自己的解析包,先谈一下json的解码方式。解码的api如下: func Unmarshal (data []byte, v interface{}) 在go中,json解码的数据结构有两种,一种是解析到结构体,一种是解析到空的interface。 以数据 {"changes": [{"index":5, "armid":6},{"index":9,"armid":10}]} 为例 1,解析到结构体 package main import ( "encoding/json" "fmt" ) func main() { type change struct { Index int Armid i...阅读全文

博文 2014-10-04 19:26:53 houzongzhi

使用golang库props轻松使用配置源文件,zookeeper、consul

``` props是统一的配置工具库,将各种配置源抽象或转换为类似properties格式的key/value,并提供统一的API来访问这些key/value。支持 properties 文件、ini 文件、zookeeper k/v、zookeeper k/props、consul k/v、consul k/props等配置源,并且支持通过 Unmarshal从配置中抽出struct;支持上下文环境变量的eval,`${}`形式;支持多种配置源组合使用。 github地址:https://github.com/tietang/props ``` # props 统一的配置工具库,将各种配置源抽象或转换为类似properties格式的key/value,并...阅读全文

golang log日志

写入日志文件 func main() { file, err := os.Create("test.log") if err != nil { log.Fatalln("fail to create test.log file!") } logger := log.New(file, "", log.Llongfile) // 写入文件log格式:/Users/zhou/go/src/zhouTest/test.go:22: 2.Println log with log.LstdFlags ... logger.Println("2.Println log with log.LstdFlags ...") logger.SetFlags(log.LstdFlags) // 设置写入文件的lo...阅读全文

博文 2018-08-05 00:30:02 zhzhlong

关于json格式化输出json.MarshalIndent()的使用

最近发现用json.MarshalIndent()转出来的json打印出来比较好看 比如 ``` js,_ := json.Marshal(&person) jsIndent,_ := json.MarshalIndent(&person, "", "\t") fmt.Println("\njs:\n",string(js), "\n\njsIndent:\n",string(jsIndent) ``` 打印出来: ``` js: {"Time":1987,"Name":"liangyongxing","Age":12} jsIndent: { "Time": 1987, "Name": "liangyongxing", "Age": 12 }...阅读全文

Go时间格式化和类型互换操作

获取本地时间 // get current timestamp currentTime := time.Now().Local() //print time fmt.Println(currentTime) 指定格式的日期字符类型 // get current timestamp currentTime := time.Now().Local() //format Time, string type newFormat := currentTime.Format("2006-01-02 15:04:05.000") fmt.Println(newFormat) 构造指定时间类型 //build Time 2016-02-17 23:59:59.999, DateTime type myTim...阅读全文

博文 2016-03-23 17:00:02 GreatElite

golang time操作整理

golang时间处理 相关包 "time" 时间戳 当前时间戳 ? 1 2 fmt.Println(time.Now().Unix()) # 1389058332 str格式化时间 当前格式化时间 ? 1 2 fmt.Println(time.Now().Format("2006-01-02 15:04:05")) // 这是个奇葩,必须是这个时间点, 据说是go诞生之日, 记忆方法:6-1-2-3-4-5 # 2014-01-07 09:42:20 时间戳转str格式化时间 ? 1 2 3 str_time := time.Unix(1389058332, 0).Format("2006-01-02 15:04:05") fmt.Println(str_time) # 2014-01-07...阅读全文

博文 2016-04-29 13:00:02 ethantonylam

golang: 把sql结果集以json格式输出

代码出处:http://stackoverflow.com/questions/19991541/dumping-mysql-tables-to-json-with-golang func getJSON(sqlString string) (string, error) { stmt, err := db.Prepare(sqlString) if err != nil { return nil, err } defer stmt.Close() rows, err := stmt.Query() if err != nil { return nil, err } defer rows.Close() columns, err := rows.Columns() if err != nil...阅读全文

博文 2016-09-02 01:00:03 newjueqi

go的变量、常量、类型别名

go语言的基本类型如下: 类型变量 实例代码: package main import "fmt" /*所有变量都可使用类型推断 全局变量必须使用var可以var(),可并行,可推断 局部变量不可使用var(),只可并行,可推断 */ func main() { //bool布尔型--先声明后赋值 var a bool fmt.Println(a) a = true fmt.Println(a) //int8/uint8--声明并赋值 var b int8 = -128 var b1 uint8 = 255 fmt.Println(b) fmt.Println(b1) //byte(uint8别名)类型--系统推测类型方式 var c1 = 255 var c2 byte = 255 fmt...阅读全文

博文 2016-08-24 09:00:01 u013210620

mac 执行gofmt -w test.go 无法格式化代码

``` GOARCH="amd64" GOBIN="/Users/xiaojiong/go/bin" GOEXE="" GOHOSTARCH="amd64" GOHOSTOS="darwin" GOOS="darwin" GOPATH="/Users/xiaojiong/go" GORACE="" GOROOT="/usr/local/go" GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64" GO15VENDOREXPERIMENT="" CC="clang" GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessa...阅读全文

GO语言时间格式化,奇葩得不想说了

过去用java,python,php,等语言,将一个时间格式化成一个字符串都是用“yyy-MM-dd hh:mm:ss”之类的方法,golang 的格式化方法真令我大开眼界 先看官方文档说明: func (Time) Format func (t Time) Format(layout string) string Format returns a textual representation of the time value formatted according to layout, which defines the format by showing how the reference time, defined to be Mon Jan 2 15:04:05 -0700 MST...阅读全文

博文 2015-06-17 20:15:54 juxuny