在用golang做aravel进程管理的时候,发现一个"坑":

strconv.Itoa(fid)才能到达想要的数字字符;

string(fid)并不能!(因为该转换会将数字直接转换为该数字对应的内码)

    fidstr := strconv.Itoa(fid)fidstr := string(fid) fmt.Printf("exec: %s %s %s %s\n",php, artisan, option, fidstr)cmd := exec.Command(br.php, br.artisan, br.option, fidstr)

当且仅当data为[]byte类型时string(data)才能达到想要的目标。其他情况,则需要根据类型来转换。

比如:strconv.Itoa(int),否则得到的不是我们想要的。

测试两种方式的ASCII值

func Test_IntToString(t *testing.T) {fmt.Printf("string(1) = %v\n", []byte(string(1)))fmt.Printf("strconv.Itoa(1) = %v\n", []byte(strconv.Itoa(1)))
}

我们得到运行如下结果:

string(1) = [1]
strconv.Itoa(1) = [49]

结论已经很明显了,string(int)会将整数直接翻译为ASCII编码,而strconv.Itao(int)才会转换成对应的数字字符在ASACII编码。

参考:

https://www.yuque.com/docs/share/11ea333f-4e9b-41d0-af55-ab3bf296c043

golang string(fid)与strconv.Itoa(fid)相关推荐

  1. Go string函数与strconv.Itoa函数的区别

    Itoa函数 strconv.Itoa函数的参数是一个整型数字,它可以将数字转换成对应的字符串类型的数字. package mainimport ("fmt""strco ...

  2. Go strconv.Itoa函数(将int转换为string)

    概念: strconv.Itoa函数用于将int数字转换为字符串. 函数签名 funcItoa(i int)string 返回值:strconv.Itoa函数参数整型数字对应的数字字符串 代码实例: ...

  3. golang string与int int64相互转换

    golang int与string互转 package main import ( "fmt" "strconv" //先导 strconv 包 ) func ...

  4. golang string int int32 int64 float32 float64 time 互相转换

    目录 1.float64转int int转int64 2.string和int.int32.int64 3.string和float32.float64 4.string和time 5.转换函数说明 ...

  5. [Golang] string类型和其他类型的值的互转

    问题 由于在开发过程中遇到类型转换问题,比如在web中某个参数是以string存在的,这个时候需要转换成其他类型,这里官方的strconv包里有这几种转换方法. 实现 有两个函数可以实现类型的互转(以 ...

  6. golang string转int8_golang一般常用数据类型转换总结

    在编程中经常会碰到一些数据类型转换问题,每次都要搜索查询好久,今天直接自己整理一下 string string到int (Atoi) int,err:=strconv.Atoi(string) str ...

  7. golang string转int8_Go教程:23 string转换int类型方法对比

    Go教程:23 string转换int类型方法对比 Go语言时一个强类型的语言,但是强类型的语言有也强类型的语言的烦恼.这个烦恼就是类型转换, 接下来我们就讲解一下怎么把 string 类型变量转换成 ...

  8. Golang的strings和strconv常用方法

    package mainimport ("fmt""strconv""strings" )func main() {str := " ...

  9. golang string转int,int转string

    这个写业务代码的时候非常常用. 1.常用提出来 string转成int: int, err := strconv.Atoi(string) string转成int64: int64, err := s ...

最新文章

  1. ES6 常用的特性整理
  2. 多层AOP 解决AOP执行顺序
  3. ubuntu---php脚本中执行换行
  4. fedora apache php,Fedora 20下安装搭建LAMP环境Apache+MySQL+PHP
  5. [转] Deep Learning(深度学习)学习笔记整理系列
  6. 安装Kerberos服务端和客户端
  7. pythongui选哪个方案好_谈谈python中GUI的选择
  8. ORACLE PERFORMANCE TUNING 原厂培训.笔记1
  9. 迈入现代 Web 开发(GMTC 2021 演讲全文)
  10. vs2017创建外部css,webpack - 从生成的Microsoft SPA模板VS2017 webpack中删除特定供应商css - 堆栈内存溢出...
  11. python两个数组合并、找出中位数_leetcode刷题记录-找出这两个有序数组的中位数(python版本)...
  12. SpringBoot集成dubbo实例
  13. WebSocket,不再“轮询”
  14. APUE学习(一)基础知识
  15. word排版教程-----------技巧
  16. 重新认识JavaScript面向对象: 从ES5到ES6
  17. 雷锋读图:如何通过社交媒体提高投资回报率
  18. python提取一句话中的数字_从Python的字符串列表中提取数字
  19. 归并排序+快排+快速选择+桶排序
  20. 如何判断欠拟合、适度拟合、过拟合

热门文章

  1. windows 下安装 JDK (含安装包)
  2. springboot 基于.ftl模板生成pdf文件
  3. java导出excel报表_java怎样导出Excel报表呢?
  4. QA与QC质量管理对比
  5. GO学习笔记:struct的匿名字段
  6. Grads画等值线(一)-----心得感言
  7. 计算机及接口技术的测试题,微型计算机原理与接口技术测试题
  8. 悉尼大学经济学荣誉升学及就业情况情况
  9. Code::Blocks环境下导入WS2_32.lib文件
  10. org.mapstruct:mapstruct 包的使用