PHP转Go系列 | 字符串的使用姿势

大家好,我是码农先森。

输出

在 PHP 语言中的输出比较简单,直接使用 echo 就可以。此外,在 PHP 中还有一个格式化输出函数 sprintf 可以用占位符替换字符串。

<?php

echo '码农先森';
echo sprintf('码农:%s', '先森');

在 Go 语言中调用它的输出函数之前还需要先引入 fmt 包,这个包提供了非常全面的输入输出函数。如果只输出普通字符串,那么使用 Print 函数即可。此外,在 Go 中也有一个同名同功能的字符串格式化函数 Sprintf。

package main

import "fmt"

func main() {
    fmt.Print("码农先森")
    fmt.Print(fmt.Sprintf("码农:%s", "先森"))
}

长度

在 PHP 语言中使用函数 strlen 计算字符串的长度。

<?php

echo strlen('码农先森');

在 Go 语言中使用函数 len 来计算字符串长度,这里因为要统计汉字的数量,因此引入了 unicode/utf8 包。

package main

import (
    "fmt"
    "unicode/utf8"
)

func main() {
	fmt.Print(len("码农先森"))
	fmt.Print(utf8.RuneCountInString("码农先森"))
}

截取

PHP有一个substr函数用来截取任意一段字符串。

<?php
echo substr('Hello World', 0, 3);

Go中的写法有些特别,它是将字符串当做数组,截取其中的某段字符,比较麻烦的是,在PHP中可以将第二个参数设置为负数进行反向取值,但是Go无法做到。

package main

import (
    "fmt"
)

func main() {
    str := "Hello World"
    fmt.Print(str[0:3])
}

搜索

在 PHP 语言中使用 strpos 查询某个字符串出现的位置。

<?php

echo strpos('Hello World', 'l');

在 Go 语言中先引入 strings 包,再调用 Index 函数来实现。

package main

import (
    "fmt"
    "strings"
)

func main() {
	fmt.Print(strings.Index("Hello World", "l"))
}

替换

在 PHP 语言中替换字符串使用 str_replace 内置函数。

<?php

echo str_replace('World', 'China', 'Hello,World');

在 Go 语言中使用 strings 包中的函数 Replace,不同的是第四个参数是必填的,它代表替换的次数,为 0 则代表不替换。

package main

import (
    "fmt"
)

func main() {
	fmt.Print(strings.Replace("Hello World", "World", "China", 1))
}

连接

在 PHP 语言中最经典的就是用点来连接字符串。此外,也可以使用 implode 函数连接。

<?php

echo 'Hello' . ',' . 'World'; 
echo implode(["Hello", "World"], ",")

在 Go 语言中用加号来连接字符串。此外,还可以使用 strings 包中的 Join 函数连接。

package main

import (
    "fmt"
)

func main() {
    fmt.Print("Hello" + "," + "World") 

    str := []string{"Hello", "World"}
    fmt.Print(strings.Join(str, ","))
}

分割

在 PHP 语言中可以使用 explode 函数分割字符串。

<?php

echo explode("Hello,World", ",")

在 Go 语言中可以使用 strings 包中的 Split 函数连接。

package main

import (
    "fmt"
)

func main() {
    fmt.Print(strings.Split("Hello,World", ","))
}

总结

以上是 PHP 语言与 Go 语言在常用的字符串处理场景中的用法,字符串处理在实际的编程中使用的最为频繁,因此我们需要很好的掌握它。

推荐

PHP 语言中的函数是如此强大、丰富、便利,PHP 程序员转到 Go 语言来,发现很多方法都需要自己封装,很不适应。因此给大家推荐一个很好网站,可以直接通过 PHP 语言中的函数找到对应在 Go 语言中的函数,这简直是转 Go 语言 PHP 程序员的福音,网站地址:https://www.php2golang.com/


欢迎关注、分享、点赞、收藏、在看,我是码农先森。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值