go string字符串详解_go []string_ghostwritten的博客-CSDN博客


本站和网页 https://blog.csdn.net/xixihahalelehehe/article/details/104647692 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

go string字符串详解_go []string_ghostwritten的博客-CSDN博客
go string字符串详解
ghostwritten
于 2020-03-04 10:17:28 发布
2227
收藏
分类专栏:
go packages
文章标签:
字符串
go
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xixihahalelehehe/article/details/104647692
版权
go packages
专栏收录该内容
46 篇文章
2 订阅
订阅专栏
文章目录
1. 前言2. 特殊处理string2.1 使用索引号访问字符 (byte)2.3 使用 “ ` “ 定义不做转义处理的原始字符串,支持跨行2.4 连接跨行字符串时,”+” 必须在上一行末尾,否则导致编译错误2.5 支持用两个索引号 ([]) 返回子串2.6 单引号字符常量表示 Unicode Code Point2.7 要修改字符串,可先将其转换成 []rune 或 []byte2.8 for 循环遍历字符串时,也有 byte 和 rune 两种方式
3. strings处理3.1 判断是不是以某个字符串开头3.2 判断是不是以某个字符串结尾3.3 判断str在s中首次出现的位置,如果没有返回-13.4 判断str在s中最后一次出现的位置,如果没有返回-13.5 字符串替换3.6 求str含s的次数3.7 重复 n 次 str3.8 str 转为大写3.9 str 转为小写3.10 去掉 str 首尾的空格3.11 去掉字符串首尾指定的字符3.12 去掉字符串首指定的字符3.13 去掉字符串尾指定的字符3.13 返回str空格分隔的所有子串的slice,3.14 返回str 指定字符分隔的所有子串的slice3.15 用指定字符将 string 类型的 slice 中所有元素链接成一个字符串
1. 前言
字符串是不可变值类型,内部用指针指向 UTF-8 字节数组。
默认值是空字符串 “”。用索引号访问某字节,如 s[i]。不能用序号获取字节元素指针,&s[i] 非法。不可变类型,无法修改字节数组。字节数组尾部不包含 NULL。
2. 特殊处理string
2.1 使用索引号访问字符 (byte)
package main
func main() {
s := "abc"
println(s[0] == '\x61', s[1] == 'b', s[2] == 0x63)
输出结果:
true true true
2.3 使用 “ ` “ 定义不做转义处理的原始字符串,支持跨行
package main
func main() {
s := `a
b\r\n\x00
c`
println(s)
输出结果:
b\r\n\x00
2.4 连接跨行字符串时,”+” 必须在上一行末尾,否则导致编译错误
package main
import (
"fmt"
func main() {
s := "Hello, " +
"World!"
// s2 := "Hello, "
// +"World!"
//./main.go:11:2: invalid operation: + untyped string
fmt.Println(s)
输出结果:
Hello, World!
2.5 支持用两个索引号 ([]) 返回子串
串依然指向原字节数组,仅修改了指针和度属性。
package main
import (
"fmt"
func main() {
s := "Hello, World!"
s1 := s[:5] // Hello
s2 := s[7:] // World!
s3 := s[1:5] // ello
fmt.Println(s, s1, s2, s3)
输出结果:
Hello, World! Hello World! ello
2.6 单引号字符常量表示 Unicode Code Point
支持 \uFFFF、\U7FFFFFFF、\xFF 格式, 对应 rune 类型,UCS-4。
package main
import (
"fmt"
func main() {
fmt.Printf("%T\n", 'a')
var c1, c2 rune = '\u6211', '们'
println(c1 == '我', string(c2) == "\xe4\xbb\xac")
输出结果:
int32 // rune 是 int32 的别名
true true
2.7 要修改字符串,可先将其转换成 []rune 或 []byte
完成后再转换为 string。无论哪种转换,都会重新分配内存,并复制字节数组。
package main
func main() {
s := "abcd"
bs := []byte(s)
bs[1] = 'B'
println(string(bs))
u := "电脑"
us := []rune(u)
us[1] = '话'
println(string(us))
输出结果:
aBcd
电话
2.8 for 循环遍历字符串时,也有 byte 和 rune 两种方式
package main
import (
"fmt"
func main() {
s := "abc汉字"
for i := 0; i < len(s); i++ { // byte
fmt.Printf("%c,", s[i])
fmt.Println()
for _, r := range s { // rune
fmt.Printf("%c,", r)
fmt.Println()
输出结果:
a,b,c,æ,±,‰,å,­,—,
a,b,c,汉,字,
3. strings处理
3.1 判断是不是以某个字符串开头
package main
import (
"fmt"
"strings"
func main() {
str := "hello world"
res0 := strings.HasPrefix(str, "http://")
res1 := strings.HasPrefix(str, "hello")
fmt.Printf("res0 is %v\n", res0)
fmt.Printf("res1 is %v\n", res1)
输出结果:
res0 is false
res1 is true
3.2 判断是不是以某个字符串结尾
package main
import (
"fmt"
"strings"
func main() {
str := "hello world"
res0 := strings.HasSuffix(str, "http://")
res1 := strings.HasSuffix(str, "world")
fmt.Printf("res0 is %v\n", res0)
fmt.Printf("res1 is %v\n", res1)
输出结果:
res0 is false
res1 is true
3.3 判断str在s中首次出现的位置,如果没有返回-1
package main
import (
"fmt"
"strings"
func main() {
str := "hello world"
res0 := strings.Index(str, "o")
res1 := strings.Index(str, "i")
fmt.Printf("res0 is %v\n", res0)
fmt.Printf("res1 is %v\n", res1)
输出结果:
res0 is 4
res1 is -1
3.4 判断str在s中最后一次出现的位置,如果没有返回-1
package main
import (
"fmt"
"strings"
func main() {
str := "hello world"
res0 := strings.LastIndex(str, "o")
res1 := strings.LastIndex(str, "i")
fmt.Printf("res0 is %v\n", res0)
fmt.Printf("res1 is %v\n", res1)
输出结果:
res0 is 7
res1 is -1
3.5 字符串替换
package main
import (
"fmt"
"strings"
func main() {
str := "hello world world"
res0 := strings.Replace(str, "world", "golang", 2)
res1 := strings.Replace(str, "world", "golang", 1)
//trings.Replace("原字符串", "被替换的内容", "替换的内容", 替换次数)
fmt.Printf("res0 is %v\n", res0)
fmt.Printf("res1 is %v\n", res1)
输出结果:
res0 is hello golang golang
res1 is hello golang world
3.6 求str含s的次数
package main
import (
"fmt"
"strings"
func main() {
str := "hello world world"
countTime0 := strings.Count(str, "o")
countTime1 := strings.Count(str, "i")
fmt.Printf("countTime0 is %v\n", countTime0)
fmt.Printf("countTime1 is %v\n", countTime1)
输出结果:
countTime0 is 3
countTime1 is 0
3.7 重复 n 次 str
package main
import (
"fmt"
"strings"
func main() {
str := "hello world "
res0 := strings.Repeat(str, 0)
res1 := strings.Repeat(str, 1)
res2 := strings.Repeat(str, 2)
// strings.Repeat("原字符串", 重复次数)
fmt.Printf("res0 is %v\n", res0)
fmt.Printf("res1 is %v\n", res1)
fmt.Printf("res2 is %v\n", res2)
输出结果:
res0 is
res1 is hello world
res2 is hello world hello world
3.8 str 转为大写
package main
import (
"fmt"
"strings"
func main() {
str := "hello world "
res := strings.ToUpper(str)
fmt.Printf("res is %v\n", res)
输出结果:
res is HELLO WORLD
3.9 str 转为小写
package main
import (
"fmt"
"strings"
func main() {
str := "HELLO WORLD "
res := strings.ToLower(str)
fmt.Printf("res is %v\n", res)
输出结果:
res is hello world
3.10 去掉 str 首尾的空格
package main
import (
"fmt"
"strings"
func main() {
str := " hello world "
res := strings.TrimSpace(str)
fmt.Printf("res is %v\n", res)
输出结果:
res is hello world
3.11 去掉字符串首尾指定的字符
package main
import (
"fmt"
"strings"
func main() {
str := "hi , hello world , hi"
res := strings.Trim(str, "hi")
fmt.Printf("res is %v\n", res)
输出结果:
res is , hello world ,
3.12 去掉字符串首指定的字符
package main
import (
"fmt"
"strings"
func main() {
str := "hi , hello world , hi"
res := strings.TrimLeft(str, "hi")
fmt.Printf("res is %v\n", res)
输出结果:
res is , hello world , hi
3.13 去掉字符串尾指定的字符
package main
import (
"fmt"
"strings"
func main() {
str := "hi , hello world , hi"
res := strings.TrimRight(str, "hi")
fmt.Printf("res is %v\n", res)
输出结果:
res is hi , hello world ,
3.13 返回str空格分隔的所有子串的slice,
package main
import (
"fmt"
"strings"
func main() {
str := "hello world ,hello golang"
res := strings.Fields(str)
fmt.Printf("res is %v\n", res)
输出结果:
res is [hello world ,hello golang]
3.14 返回str 指定字符分隔的所有子串的slice
package main
import (
"fmt"
"strings"
func main() {
str := "hello world ,hello golang"
res := strings.Split(str, "o")
fmt.Printf("res is %v\n", res)
输出结果:
res is [hell w rld ,hell g lang]
3.15 用指定字符将 string 类型的 slice 中所有元素链接成一个字符串
package main
import (
"fmt"
"strings"
func main() {
str := []string{"hello", "world", "hello", "golang"}
res := strings.Join(str, "++")
fmt.Printf("res is %v\n", res)
/*
num := []int{1, 2, 3, 4, 5, 6, 7, 8, 9, 0}
res1 := strings.Join(num, "++")
// cannot use num (type []int) as type []string in argument to strings.Join
fmt.Println(res1)
*/
输出结果:
res is hello++world++hello++golang
参考连接: http://www.ahadoc.com/read/Golang-Detailed-Explanation/ch2.3.2.md#string%E7%9A%84%E5%BA%95%E5%B1%82%E5%B8%83%E5%B1%80
ghostwritten
关注
关注
点赞
收藏
打赏
知道了
评论
go string字符串详解
字符串是不可变值类型,内部用指针指向 UTF-8 字节数组。默认值是空字符串 “”。用索引号访问某字节,如 s[i]。不能用序号获取字节元素指针,&s[i] 非法。不可变类型,无法修改字节数组。字节数组尾部不包含 NULL。使用索引号访问字符 (byte)package mainfunc main() { s := "abc" println(s[0] ...
复制链接
扫一扫
专栏目录
Go 字符串格式化的实例代码详解
12-20
Go对字符串格式化提供了良好的支持。下面我们看些常用的字符串格式化的例子。
package main
import "fmt"
import "os"
type point struct {
x, y int
func main() {
// Go提供了几种打印格式,用来格式化一般的Go值,例如
// 下面的%v打印了一个point结构体的对象的值
p := point{1, 2}
fmt.Printf("%v\n", p)
// 如果所格式化的值是一个结构体对象,那么`%+v`的格式化输出
// 将包括结构体的成员名称和值
fmt.Printf("%+v
Golang中的Unicode与字符串示例详解
01-19
背景:
在我们使用Golang进行开发过程中,总是绕不开对字符或字符串的处理,而在Golang语言中,对字符和字符串的处理方式可能和其他语言不太一样,比如Python或Java类的语言,本篇文章分享一些Golang语言下的Unicode和字符串编码。
Go语言字符编码
注意: 在Golang语言中的标识符可以包含 ” 任何Unicode编码可以标识的字母字符 “。
被转换的整数值应该可以代表一个有效的 Unicode 代码点,否则转换的结果就将会是 “�”,即:一个仅由高亮的问号组成的字符串值。
另外,当一个 string 类型的值被转换为 []rune 类型值的时候,其中的字符串会被拆分成
参与评论
您还未登录,请先
登录
后发表或查看评论
go-mapstringinterface:包mapstringinterface提供了使用Go的map [string] interface {}类型的工具
02-08
go-mapstring接口
包mapstringinterface提供了用于处理Go的map[string]interface{}类型的工具。
例如:
var data map [ string ] interface {}
// ...
postalCode , found := mapstringinterface . PathQuery ( data , "user" , "address" , "postal-code" )
纪录片
包含示例的在线文档可以在以下位置找到: :
Golang: []string 和 ...string
dongdongqiang521的博客
11-18
268
… 参数语法形成了可变参数的参数。它将接受零个或多个string参数,并将它们作为切片引用
Golang strings 包 用法详解
Rick的专栏
05-05
5049
package mainimport (
"fmt"
"strings"
//"unicode/utf8"
)func main() {
fmt.Println("查找子串是否在指定的字符串中")
fmt.Println(" Contains 函数的用法")
fmt.Println(strings.Contains("seafood", "foo"))
【go基础】string详解
最新发布
m0_71229547的博客
03-01
124
string是utf8编码,所以不能直接通过下标获取中文等字符
go语言中[]string切片变成string_编程书说的“Go程序员应该让聚合类型的零值也具有意义”是在讲什么...
weixin_30117665的博客
12-25
1019
在《Go语言编程》这本书和很多其他Go 编程教程中很多都提到过“Go程序员应该让一些聚合类型的零值也具有意义”的概念,我们这篇文章主要说一下有意义的零值这个话题。在 Go 中声明变量时如果初始化表达式被省略:var 变量名字 类型 = 表达式那么将用零值初始化变量。 以下是 Go 官方的语言参考对零值初始化机制的解释: When storage is allocated for a variabl...
GO语言string——默默无闻的字符串
weixin_43844941的博客
06-21
133
前言
字符串好像是所有语言最不起的东西,但是实际业务中又无法避免的一个环节,就跟空气一样,每个人都需要呼吸,但是谁都不会无时不刻的去注意他一样,他们都是默默无闻的使者。。。
啥?字符和字节
Go 语言里的字符串是“字节”串,英文字符占用 1 个字节,非英文字符占多个字节。这意味着无法通过位置来快速定位出一个完整的字符来,而必须通过遍历的方式来逐个获取单个字符,我们所说的字符通常是指 unicode 字符,你可以认为所有的英文和汉字在 unicode 字符集中都有一个唯一的整数编号,一个 unicode 通常
Go中string的特殊用法[…]string
qq_36733817的博客
06-29
4083
Go中string的特殊用法[…]string
最近在学习Go语言中遇到了string特殊的一种用法,记录一下,直接上代码,如有错误,请朋友们指出
import "fmt"
func Test02() {
var str = [...]string{
1: "Hello",
3: "World",
5: "My",
6: "Name",
7: "is",
8: "Conan",
fmt.Println(str)
for i,v := range str {
fmt.
Go 语言的字串数据类型 String
Mark66890620
05-15
775
Go 中的字符串值得特别关注,因为与其他语言相比,Go 中的字符串实现方式是非常不同的。
GO 中字符串定义在双引号 "......" 之间,而不是单引号,与 JavaScript 不同。 Go 中的字符串是 ** UTF-8 ** 默认编码 这在 21 世纪的今天是非常有意义的。 由于 UTF-8 支持 ASCII字符集,因此在大多数情况下您无需担心编码问题。 但要深入了解 UTF-8 编码的工作原理,您一定要访问 这个维基百科页面。
先来写一个简单的程序。使用 string 关键字来定义 s
go中的strings用法
白小白的小白的博客
09-02
223
go strings
Go 基本类型转 string 类型
实践求真知
04-04
1905
一点睛
一般有两种方式将基本类型转 string 类型,一种是使用 fmt.sprintf 函数,一种是使用 strconv 包中的函数,推荐使用第一种。
二 使用fmt.Sprintf("%参数", 表达式)
1 函数介绍
func Sprintf(format string,a ...interface{}) string
Sprintf 根据 format 参数生成格式化字符串并返回该字符串。
参数需要和表达式的数据类型相匹配。
fmt.Sprintf():会返回转换后的字符串。
..
go语言string操作
离光曦的博客
02-20
1470
字符串类型string是一个不可变的字符序列,go从底层就采用UTF-8编码。
字符串在内存中是以byte数组存储的,如果是非ASCII字符的其他长度字符(如中文),每个rune就占多个byte。
字符串操作
字符串定义
//转义字符\n \r \t \u \U分别表示换行,回车,制表符,Unicode字符
var str string = "测试转义字符: \t hello \u0067\U0000006F \n"
//使用反引号来定义原生字符串,无需转义原样输出
var str1 string =
【Go】go语言的string类型
weixin_45919793的博客
03-18
871
go语言的string类型
Go 字符串及strings包常见操作
Sunny_Future的博客
06-18
1023
Go 字符串及strings包常见操作
1、字符串的定义
Go 语言中可以使用反引号或者双引号来定义字符串。反引号表示原生的字符串,即不进行转义。Go 语言的字符串不支持单引号
双引号
字符串使用双引号括起来,其中的相关的转义字符将被替换。例如:
str := "Hello World! \n Hello Gopher! \n"
输出:
Hello World!
Hello Gopher!
反引号
字符串使用反引号括起来,其中的相关的转义字符不会被替换。例如:
str := `Hello W
《Golang入门系列》字符串string的常用操作
weixin_42409057的博客
05-07
781
string基础
golang当中的字符串本质是只读的字符型数组,和C语言当中的char[]类似,但是golang为它封装了一个变量类型,叫做string。知道了string这个类型之后,我们就可以很方便地来初始化:
var str string
str1 := "hello world"
var str2 = "hello world too"
这里应该没什么难度,很好理解。由于这个数组是只读的,所以我们可以通过下标获取某一位的字符,但是不允许修改。
// 允许
fmt.Println(str1[3])
Go语言---strings包(字符串操作)
热门推荐
每天进步一点点。。。的博客
05-08
3万+
strings标准库包主要涉及字符串的基本操作。常见字符串的操作有:字符串求长度求子串是否存在某个字符或者子串子串出现的次数(字符串匹配)字符串分割(切分)成[]string字符串是否存在某个前缀或后缀字符或者子串在字符串中首次出现的位置或最后一次出现的位置通过某个字符串将[]string进行拼接字符串重复次数字符串中子串替换大小写转换......................等等一些基本操作。...
Go进阶(4): string接口函数+时间接口函数+内置函数+错误处理
沈春旭的博客
08-18
2334
1. string接口函数
len():内建函数,返回字符串/数组的长度,按字节(UTF-);例如,ascii字符占一个字节,汉字占三个字节;
r:=[]rune(str):字符串遍历函数,同时可以处理中文问题,中间是转成了slicer类型
package main
import "fmt"
func main() {
str := "hello 沈子恒"
for i:=0; i&l...
[Go] String型常用操作
Moke
10-11
2885
字符串是一个不可改变的字节序列。
Go string通常是用来包含人类可读的文本。
文本字符串通常被解释为采用 UTF8 编码的 Unicode 码点。
Go的字符串由单个字节连接起来。
package main
func main() {
var city string = "我爱北京天安门"
println(city)
// city[0]='1' 错误,go的字符串不可变
Go的字符串用双引号识别,识别转义字符”\n \t”
package main
import "fm
go语言中strings包下的关于字符串的函数
m0_51530927的博客
07-13
218
go语言中strings包下的关于字符串的函数、判断字符串中是否包含指定的内容-->bool、判断是否包含chars中任意的一个字符即可统计substr在s中出现的次数以xxx前缀开头,以xxx后缀结尾//查找substr在s中的位置,如果不存在就返回-1查找chars中任意的一个字符,出现在s中的位置查找substr在s中字符串的拼接切割重复,自己拼接自己count次替换截取子串...
Go string类型及其使用
baidu_41388533的博客
06-23
2639
string类型及其使用
基本概念:
字符串就是一串固定长度的字符连接起来的字符序列。
Go 的字符串是由单个字节连接起来的。
Go语言的字符串的字节使用 UTF-8 编码标识 Unicode 文本
基本使用演示:
//string的基本使用
var name string = "紫罗兰永恒花园"
fmt.Println("name =", name)
输出:
注意事项和使用细节
Go 语言的字符串的字节使用 UTF-8 编码标识 Unicode 文本,这样 Golang 统一
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
ghostwritten
CSDN认证博客专家
CSDN认证企业博客
码龄6年
运维领域新星创作者
1215
原创
2247
周排名
558
总排名
179万+
访问
等级
1万+
积分
6725
粉丝
963
获赞
277
评论
6102
收藏
私信
关注
热门文章
kubernetes经典收藏
138826
traceroute详解
36378
网络工程师必懂的网络基础知识
29864
fatal: Authentication failed for解决方法
25082
Docker Dockerfile使用详解
22205
分类专栏
AI
7篇
mac
6篇
每日一译
8篇
笔记
19篇
kubernetes
274篇
docker
64篇
helm
22篇
podman
11篇
ansible
35篇
prometheus
20篇
shell
60篇
go
58篇
python
115篇
linux
112篇
git
91篇
kubernetes_dev
23篇
envy
6篇
harbor
2篇
command
104篇
elk
101篇
vscode
3篇
Javascript
43篇
jenkins
11篇
windows
29篇
go packages
46篇
consul
8篇
Metaverse
1篇
nginx
30篇
openshift
13篇
leetcode
2篇
npm
2篇
nodejs
2篇
mysql
26篇
go base
9篇
etcd
2篇
CSS
1篇
数码
7篇
haproxy
2篇
会议
8篇
无线电
3篇
HTML
7篇
blog
9篇
kafka
8篇
ubuntu
9篇
redis
4篇
c++
1篇
network
5篇
安全
3篇
职场
6篇
kali
4篇
bitcon
8篇
电影
4篇
Cisco
7篇
最新评论
python 模块 copy 复制详解
gardenlord:
列表切片是浅复制。
要不做一名 Prompt Engineer
叽哩叽哩鸡:
这一看就是直接gpt生成的文章,掺杂了诸多错误
Kubernetes安全专家认证 (CKS)1.20模拟题答案中文版
ghostwritten:
感谢,我这篇老掉牙了已经
Kubernetes安全专家认证 (CKS)1.20模拟题答案中文版
qwmwysr:
Kubernetes/K8S CKS安全专家认证实践(2023年新课,基于k8s 1.26版本)
下载地址:https://download.csdn.net/download/qwmwysr/87620990
Kubernetes安全专家认证 (CKS)1.20模拟题答案中文版
qwmwysr:
Kubernetes/K8S CKS安全专家认证实践(2023年新课,基于k8s 1.26版本)
下载地址:https://download.csdn.net/download/qwmwysr/87620990
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
Helm 部署 Prometheus 集群以 Influxdb 1.8.0 作为远程持久存储【1】
Krew—Kubectl 插件的包管理器
Kind & Kubernetes | 通过 Helm 部署定制化 Prometheus-Operator 上传 Dockerhub?
2023
04月
1篇
03月
17篇
02月
21篇
01月
10篇
2022年401篇
2021年421篇
2020年489篇
2018年9篇
2017年52篇
目录
目录
分类专栏
AI
7篇
mac
6篇
每日一译
8篇
笔记
19篇
kubernetes
274篇
docker
64篇
helm
22篇
podman
11篇
ansible
35篇
prometheus
20篇
shell
60篇
go
58篇
python
115篇
linux
112篇
git
91篇
kubernetes_dev
23篇
envy
6篇
harbor
2篇
command
104篇
elk
101篇
vscode
3篇
Javascript
43篇
jenkins
11篇
windows
29篇
go packages
46篇
consul
8篇
Metaverse
1篇
nginx
30篇
openshift
13篇
leetcode
2篇
npm
2篇
nodejs
2篇
mysql
26篇
go base
9篇
etcd
2篇
CSS
1篇
数码
7篇
haproxy
2篇
会议
8篇
无线电
3篇
HTML
7篇
blog
9篇
kafka
8篇
ubuntu
9篇
redis
4篇
c++
1篇
network
5篇
安全
3篇
职场
6篇
kali
4篇
bitcon
8篇
电影
4篇
Cisco
7篇
目录
评论
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
添加红包
祝福语
请填写红包祝福语或标题
红包数量
红包个数最小为10个
红包总金额
红包金额最低5元
余额支付
当前余额3.43元
前往充值 >
需支付:10.00元
取消
确定
下一步
知道了
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝
规则
hope_wisdom 发出的红包
打赏作者
ghostwritten
口渴,请赏一杯下午茶吧
¥2
¥4
¥6
¥10
¥20
输入1-500的整数
余额支付
(余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付
您的余额不足,请更换扫码支付或充值
打赏作者
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
余额充值