Go语言字符串和数值转换

九路 等级 768 0 0

一.字符串概述

  • 字符串是一段不可变的字符序列.内容是任意内容,可以是一段文字也可以是一串数字,但是字符串类型数字不能进行数学运算,必须转换成整型或浮点型
  • 字符串类型关键字:string
  • 创建字符串类型变量
    var s string = "hello,world"
    s1 := "hello,world"
  • 字符串类型的值使用双引号""扩上,内容支持转义字符串.两侧使用反单引号时原格式输出
    func main() {
      a := "hello\tworld"
      b := `hello\tworld`
      fmt.Println(a) //输出:hello  world
      fmt.Println(b) //输出:hello\tworld
    }

二.字符串和数值转换

  • strconv提供了字符串和其他类型相互转换的函数,下面以字符串和数值类型转换为例
  • intstring相互转换
    package main
    

import ( "fmt" "strconv" )

func main() { s := "11" /* 第一个参数:需要转换的字符串变量 第二个参数:这个数字是几进制,常用取值:2,8,10,16 第三个参数:认为这个数字的整数类型.可取值:0,8,16,32,64. 但是由于方法最后返回值是int64,所以第三个参数无论设置什么最终结果都是int64 */ i, _ := strconv.ParseInt(s, 10, 8) fmt.Println(i) fmt.Printf("%T\n", i)

//简单写法,相当于strconv.ParseInt(s,10,64)
i1, _ := strconv.Atoi(s)
fmt.Println(i1)

}


* Int转换成string
```go
package main

import (
    "fmt"
    "strconv"
)

func main() {
    i := 11
    /*
    第一个参数:必须是int64类型
    第二个参数:进制数
     */
    s := strconv.FormatInt(int64(i), 10)
    fmt.Println(s)        //输出:11
    fmt.Printf("%T\n", s) //输出:string

    /*
    由于平时常用int,且使用短变量时整数默认是int类型
    所以下面方式较常用,把int转换为string
     */
    s1 := strconv.Itoa(i)
    fmt.Println(s1)      //输出:11
    fmt.Printf("%T", s1) //输出:string
}
  • string转换为floatXX类型
    package main
    

import ( "fmt" "strconv" )

func main() { s := "1.5" /* 把字符串转换为指定类型 第一个参数:字符串 第二个参数:可取值为32和64,分别表示float32和float64 返回值是float64 */ f, _ := strconv.ParseFloat(s, 64) fmt.Println(f) fmt.Printf("%T", f) }

* floatXX转换为string类型
```go
package main

import (
    "fmt"
    "strconv"
)

func main() {
    f := 1.5
    /*
    把浮点型转换为字符串类型
    第一个参数:浮点型变量
    第二个参数:
        'f'(-ddd.dddd)
        'b'(-ddddp±ddd,指数为二进制)
        'e'(-d.dddde±dd,十进制指数)
        'E'(-d.ddddE±dd,十进制指数)
        'g'(指数很大时用'e'格式,否则'f'格式)
        'G'(指数很大时用'E'格式,否则'f'格式)
    第三个参数:小数点精度,精度不够使用0补全,超出精度四舍五入
    第四个参数:浮点型变量类型,64表示float64,32表示float32
     */
    s := strconv.FormatFloat(f, 'g', 5, 64)

    fmt.Println(s)
}
收藏
评论区

相关推荐

Golang高阶:Golang1.5到Golang1.12包管理
版权所有,转载请注明:http://www.lenggirl.com/go/gomod.html(https://links.jianshu.com/go?tohttp%3A%2F%2Fwww.lenggirl.com%2Fgo%2Fgomod.html) 1. 前言 Golang 是一门到如今有十年的静态高级语言了,2009年的时
godoc 命令和 golang 代码文档管理
介绍 godoc 是 golang 自带的文档查看器,更多的提供部署服务 go doc 和 godoc 在 golang 1.13 被移除了,可以自行安装 golang.org go1.13 godoc(https://links.jianshu.com/go?tohttps%3A%2F%2Fgolang.org%2Fdoc%2Fg
为什么GOPROXY对Golang开发如此重要
为什么GOPROXY对Golang开发如此重要 引言 从Go 1.13开始,Go Module作为Golang中的标准包管理器,在安装时自动启用,并附带一个默认的GOPROXY。 但是对于其他的GOPROXY选项,比如JFrog GoCenter,以及你自己的Go Module包,你需要在公众视野中保持安全,你应该选择什么样的配置? 你怎样才能
【Golang】GoWeb框架之Gin-简明教程
Gin 简介 Gin is a HTTP web framework written in Go (Golang). It features a
Go 语言编程 — go mod 依赖包管理
目录 == ### 文章目录 * 目录 * go mod 依赖包管理 * 使用 go mod go mod 依赖包管理 ============ go mod 是 Golang 1.11 版本引入的依赖包管理工具。其中,Golang 对 Modules 的定义:Modules 是相关 Go Packages 的集合,是源代码交换和版本控制
Go初识
Go初识 ---- 下载安装包:[https://golang.org/dl/](https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fgolang.org%2Fdl%2F) ### 什么是Go语言 * Go语言也称为 Golang,是由 Google 公司开发的一种静态强类型、编译型、
Go语言基础之并发
转载自[https://www.liwenzhou.com/posts/Go/14\_concurrence/](https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fwww.liwenzhou.com%2Fposts%2FGo%2F14_concurrence%2F) Go语言基础之并发 ==
go mod 无法自动下载依赖包的问题
go 11以后启用了go mod功能,用于管理依赖包。 当执行`go mod init`生成`go.mod`文件之后,golang在`运行`、`编译`项目的时候,都会检查依赖并下载依赖包。 在启动了`go mod`之后,通过`go mod`下载的依赖包,不在放在`GOPATH/src`中,而是放到`GOPATH/pkg/mod`中。 比如我当前的`GO
go系列(3)
这篇讲讲如何在beego框架使用redis。 golang中比较好用的第三方开源redisclient有: * go-redis * 源码地址:[https://github.com/go-redis/redis](https://www.oschina.net/action/GoToLink?url=https%3A%2F%2Fgith
vs code 下安装golang支持
1)安装gocode go get -u -v github.com/nsf/gocode 2)安装godef go get -u -v github.com/rogpeppe/godef 3)安装golint go get -u -v github.com/golang/lint/golint 4)安装go-find-references g
Archlinux下Visual Studio Code配置Golang开发环境
一、Golang的安装 ----------- GoLang安装并验证一下: [cox@localhost ~]$ sudo pacman -S go [cox@localhost ~]$ go version go version go1.8.3 linux/amd64s 要注意,Golang的安装要确保两个环境变量,一个是G
Go 实现字符串相似度计算函数 Levenshtein 和 SimilarText
【转】[http://www.syyong.com/Go/Go-implements-the-string-similarity-calculation-function-Levenshtein-and-SimilarText.html](https://www.oschina.net/action/GoToLink?url=http%3A%2F%2Fwww
Golang 开发环境搭建
Golang 是 Google 发布的开发语言,Go 编译的程序速度可以媲美 C/C++。 安装 -- sudo apt-get install golang sudo apt-get install golang-go.tools 使用 -- * 编译运行程序 go run main.go * 查看命令文
Golang1.7 Goroutine源码分析(转)
一、       Golang简介 **1.1概述** Golang语言是Google公司开发的新一代编程语言,简称Go语言,Go 是有表达力、简洁、清晰和有效率的。它的并行机制使其很容易编写多核和网络应用,而新奇的类型系统允许构建有弹性的模块化程序。 Go 编译到机器码非常快速,同时具有便利的垃圾回收和强大的运行时反射。而他最广为人知的特性便是语言层面
Golang代码测试:一点到面用测试驱动开发
> **摘要**:TDD(Test Driven Development),测试驱动开发。期望局部最优到全局最优,这个是一种非常不错的好习惯。 了解Golang的测试之前,我们先了解一下go语言自带的测试工具。 go test工具 --------- Go语言中的测试依赖go test命令。编写测试代码和编写普通的Go代码过程是类似的,并不需要学习新的