golang 基础(18)字符串
square-gopher.png
字符串
- immutability 字符串是不可变类型
- strigs 标准库提供字符串基本操作
- strconv 字符串与其余类型的转换
func main() { var c byte = 'H' fmt.Println(c) mj := string(45) fmt.Println(mj)}
我们尝试输出c byte = 'H'``和
string(45)“
72-
结果可能预期有些差别,假如我们将“`mj := string(72)“
我们就会得到
72H
在 go 语言会将 sybmol(符号)看作数字,而将string是作为sybmole 的数组
“hello world” 在 go 眼里是数组[72 101 100 108 111…],字符和数字之间的关系是 ASCII 定义的。
x := os.Args[1]y := os.Args[2]fmt.Println(x + y)
os.Args 会接受我们在运行 main.go 是命令行附加的参数
go run main.go 4 3
结果运行为 43 这是由于
x = "4"
所以输出结果
43
那么大家可能都会想到类型转换,这样进行转换类型是行不通的
x := int(os.Args[1])y := int(os.Args[2])
import( "fmt" "os" "strconv")
- go 语言中提供了 strconv 用于类型转换
mj := strconv.Itoa(45)fmt.Println(mj)
可以对刚才程序进行修改为来尝试运行一下
x := strconv.Atoi(os.Args[1])y := strconv.Atoi(os.Args[2])fmt.Println(x + y)
.\main.go:15:19: multiple-value strconv.Atoi() in single-value context
这个很好了解也就是strconv.Atoi
会返回两个返回值,我们这里只解决一个,需要对两个返回值都进行解决。
x,err1 := strconv.Atoi(os.Args[1])y,err2 := strconv.Atoi(os.Args[2])if err1 != nil{ fmt.Println("Error converting first command line parameter!") os.Exit(1)}if err2 != nil{ fmt.Println("Error converting second command line parameter!") os.Exit(1)}
strings 标准库为我们提供许多实用的方法
fmt.Println(strings.ToTitle("hello world"))
HELLO WORLD
fmt.Println(strings.Title("hello world"))
Hello World
fmt.Println(strings.Replace("Hello <NAME>","<NAME>","zidea",1))
Replace 方法很简单
- 源字符串
- 要替换内容
- 替换的内容
- 替换次数
说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » golang 基础(18)字符串
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » golang 基础(18)字符串