fmt.Sprintf strconv.Itoa 效率实验

 1 package main
 2
 3 import (
 4     "fmt"
 5     "strconv"
 6     "time"
 7 )
 8
 9 const LOOP = 100000
10
11 var num int64 = 10
12
13 func main() {
14     startTime := time.Now()
15     for i := 0; i < LOOP; i++ {
16         fmt.Sprintf("%d", i)
17     }
18     fmt.Printf("fmt.Sprintf taken: %v\n", time.Since(startTime))
19
20     startTime = time.Now()
21     for i := 0; i < LOOP; i++ {
22         strconv.Itoa(i)
23     }
24     fmt.Printf("strconv.FormatInt taken: %v\n", time.Since(startTime))
25 }

得到的结果为

fmt.Sprintf taken: 23.0013ms

strconv.FormatInt taken: 4.0002ms

参考:http://deanthompson.github.io/tag/golang.html

时间: 2024-10-04 23:27:24

fmt.Sprintf strconv.Itoa 效率实验的相关文章

golang error信息转字符串 x := fmt.Sprintf(&quot;%s&quot;, err)

_, _, ch, err := m.ZkConn.ChildrenW(node) if err != nil { x := fmt.Sprintf("%s", err) if strings.Contains(x, "node does not exist"){ log.Error(fmt.Sprintf("node %s error: %s", m.tcpMonTaskNode, x)) return } panic(err) }

GO、 智能合约、cannot use transactionRecordId + strconv.Itoa(id) (type string) as type byte in append

1.报错详情 2.在写fabric go智能合约发送的错误,像我这样的新手就是踩坑踩坑踩坑 3.下面是代码片段 4.研究了一下append用法.也看了下GO语言官网文章: var test_str []string test_str = append(test_str ,"this_ok") append(type,len,cap). 该函数第一个参数是类型,第二个参数是分配的空间,第三个参数是预留分配空间. append比较适合用字面量初始的切片. 传入数据初始大小后,我们得到的实际

一周学会go语言并应用 by王奇疏

<一周学会go语言并应用> by王奇疏 ( 欢迎加入go语言群: 218160862 , 群内有实践) 零.安装go语言,配置环境及IDE 这部分内容不多,请参考我的这篇安装环境<安装go语言,配置环境及IDE> 日常只有2条命令: go   run  文件路径/xxx.go go   build  文件路径/xxx.go 第一节.语法 1)注释:   // 单行注释      /* 多行注释 *// 2). [基本语法] 一个go语言程序项目只能有1个 package main包

2.12 指定缩进

package main import ( "fmt" "strconv" "strings" "unicode" ) func main() { text := "Hi! Go is awesome." text = Indent(text, 6) fmt.Println(text) text = Unindent(text, 3) fmt.Println(text) text = Unindent(te

2.11 whitespace 去掉空格

package main import ( "fmt" "math" "regexp" "strconv" "strings" ) func main() { stringToTrim := "\t\t\n Go \tis\t Awesome \t\t" trimResult := strings.TrimSpace(stringToTrim) fmt.Println(trimResul

golang strconv 包

strconv 包括 四 类函数 1.Append 类,例如 AppendBool(dst []byte, b bool)[]byte,将值转化后添加到[]byte的末尾 2.Format 类,例如FormatBool(b bool) string,将bool  float int uint 类型的转换为string,FormatInt的缩写为Itoa 3.Parse 类,例如ParseBool(str string)(value bool, err error) 将字符串转换为 bool fl

Golang strconv包使用

      // atob.go         ------------------------------------------------------------         // ParseBool 将字符串转换为布尔值         // 它接受真值:1, t, T, TRUE, true, True         // 它接受假值:0, f, F, FALSE, false, False.         // 其它任何值都返回一个错误         func Parse

go--strings和strconv对字符串的操作

package main import ( "fmt" "strings" "strconv" ) func main(){ s := "my name is satori" // 1.判断字符串是否以xx字符开头,类似于Python中的startswith fmt.Println(strings.HasPrefix(s,"my")) //true // 2.判断字符串是否以xx字符结尾,类似于Python

Golang --- package

strings import "strings" strings包实现了用于操作字符的简单函数. strings.Index("suoning", "n") //3(子串第一次出现的位置,不存在则返回-1) strings.LastIndex("suoning", "n") //5(子串最后一次出现的位置,不存在则返回-1) strings.Replace("suoning", &quo