【Groovy】字符串 ( 字符串拼接 | 多行字符串 )
文章目录
- 一、字符串类型变量
- 二、多行字符串
- 三、完整代码示例
一、字符串类型变量
在双引号字符串中 , 使用 ${变量名} 进行字符串拼接 ,
- ${变量名} 符号的取值 , 是在 定义时取值 ;
def s1 = "Hello"def s3 = "${s1} World!!!"s1 = "Hello Groovy" // 修改被拼接的函数值// 打印的值为 "Hello World!!!"println s3
- ${->变量名} 符号的取值 , 是在 访问时取值 , 不是在定义时取值 , 如果访问前 , 修改了 变量名 对应的变量值 , 则最后取值是修改后的值 ; 这是闭包的规则 ;
def s1 = "Hello"def s4 = "${->s1} World!!!"s1 = "Hello Groovy" // 修改被拼接的函数值// 打印的值为 "Hello Groovy World!!!"println s4
在 单引号 中 , 不能进行字符串连接操作 ;
// 单引号中不能进行字符串拼接def s5 = '${s1} World!!!'// 打印的值为 "${s1} World!!!"println s5
字符串拼接代码示例 :
// 字符串def s1 = "Hello"// 字符串拼接// 注意 , 双引号中才能进行字符串拼接 , 单引号中不行// ${变量名} 符号的取值 , 是在 定义时取值 ;def s3 = "${s1} World!!!"// ${->变量名} 符号的取值 , 是在 访问时取值 , 不是在定义时取值 ,// 如果访问前 , 修改了 变量名 对应的变量值 , 则最后取值是修改后的值 ;// 这是闭包的规则 ;def s4 = "${->s1} World!!!"// 修改被拼接的函数值s1 = "Hello Groovy"// 分别打印 s3 字符串内容和类型 , 修改被拼接的函数值没有影响到最终字符串值println s3println s3.class// 分别打印 s4 字符串内容和类型// 修改被拼接的函数值 影响到了 最终字符串值println s4println s4.class// 单引号中不能进行字符串拼接def s5 = '${s1} World!!!'// 分别打印 s4 字符串内容和类型println s5println s5.class
执行结果 :
Hello World!!!
class org.codehaus.groovy.runtime.GStringImpl
Hello Groovy World!!!
class org.codehaus.groovy.runtime.GStringImpl
${s1} World!!!
class java.lang.String
二、多行字符串
在 普通字符串中 , 使用 \n 符号 , 代表换行操作 ,
def m1 = "Hello\nWorld"
代表
Hello
World
字符串 ;
在 666 个双引号之间 , 可以直接写多行文本 , 多行文本的 左右两侧各有 333 个双引号 ;
def m2 = """Hello
World"""
代表
Hello
World
字符串 ;
代码示例 :
// 多行字符串输出def m1 = "Hello\nWorld"def m2 = """Hello
World"""// 打印多行字符串println m1println m2
执行结果 :
Hello
World
Hello
World
三、完整代码示例
完整代码示例 :
class Test {static void main(args) {// 字符串def s1 = "Hello"// 字符串拼接// 注意 , 双引号中才能进行字符串拼接 , 单引号中不行// ${变量名} 符号的取值 , 是在 定义时取值 ;def s3 = "${s1} World!!!"// ${->变量名} 符号的取值 , 是在 访问时取值 , 不是在定义时取值 ,// 如果访问前 , 修改了 变量名 对应的变量值 , 则最后取值是修改后的值 ;// 这是闭包的规则 ;def s4 = "${->s1} World!!!"// 修改被拼接的函数值s1 = "Hello Groovy"// 分别打印 s3 字符串内容和类型 , 修改被拼接的函数值没有影响到最终字符串值println s3println s3.class// 分别打印 s4 字符串内容和类型// 修改被拼接的函数值 影响到了 最终字符串值println s4println s4.class// 单引号中不能进行字符串拼接def s5 = '${s1} World!!!'// 分别打印 s4 字符串内容和类型println s5println s5.class// 多行字符串输出def m1 = "Hello\nWorld"def m2 = """Hello
World"""// 打印多行字符串println m1println m2}
}
执行结果 :
Hello World!!!
class org.codehaus.groovy.runtime.GStringImpl
Hello Groovy World!!!
class org.codehaus.groovy.runtime.GStringImpl
${s1} World!!!
class java.lang.String
Hello
World
Hello
World
【Groovy】字符串 ( 字符串拼接 | 多行字符串 )相关推荐
- 字符串——C++拼接多个字符串
拼接多个字符串在C++的可以通过strcpy_s 和srtcat_s实现,如: int main() {char first[10] = {'a','b','c'};char second[] = & ...
- 任意输入一个正整数m和m个字符串,统计每行字符串中元音字母的个数。要求使用函数vowel()来判断是否为元音,其余功能在main()函数中实现。
int vowel(char c) {如果c是元音,返回1,否则返回0} 输入要求:第1行输入m,第2至第m行输入m个字符串,长度不超过50,以回车符结束. 输出要求:分m行输出统计的结果 样例输入: ...
- vue动态拼接图片路径、img地址拼接问题 [模板字符串]
写vue写的不多,记录一下这个小坑 知识点:es6模板字符串${} (一)需求: 使用vue根据后端传的json数组的某一字段来拼接img的src路径,动态的绑定img标签的图片,图片来源本地文件夹, ...
- python字符串拼接变量_python拼接变量、字符串的3种方法
第一种,加号("+"): print 'py'+'thon' # output python str = 'py' print str+'thon' # output python ...
- Oracle SQL符号分隔的多行字符串拆分
之前写了一篇文章,http://blog.csdn.net/seandba/article/details/72644257 讨论了从单行字符串拆分到多行字符串拆分,最后的解决不算圆满. 从一个比较简 ...
- python定义字符串类型_Python数据类型之字符串
1. Python字符串的创建 字符串是Python中最常见的数据类型,通常使用单引号或双引号来定义一个字符串,如下: str = "我是字符串" str1 = '我也是字符串' ...
- python 字符串函数 center_python函数及字符串
今天继续函数的知识总结,还有一些关于字符串的内容. 1.递归函数:函数自己调用自己 使用递归函数条件①必须留出口(函数调用必须有退出)②自己调用自己 def print_num(num): print ...
- c语言字符串中的字符无效,字符串操作
字符串主要用于编程,字符串在存储上类似字符数组,所以它每一位的单个元素都是可以提取的.字符串也有很多操作,在正文将对C语言.C++和java中对其操作进行介绍. 中文名 字符串操作 外文名 strin ...
- python 多行字符串拼接_零基础学python的第71天
#编程语言# 我是"学海无涯自学不惜!",关注我,一同学习简单易懂的Python编程. 第七十一节:字符串的拼接 在前面学习Python的数据类型的时候,就了解过字符串(详见16节 ...
最新文章
- Mac OS X 下mysql配置备忘
- 图像转文字(分类识别等),文字转图片,实际需要的过程
- WPF and Silverlight 学习笔记(十八):WPF样式(Style)与模板(Template)
- spark rdd map java_如何在spark RDD(JavaRDD)中获取记录的文件名
- wxWidgets:wxToolBar 示例
- 合并二叉树—leetcode617
- 浏览器json格式化插件 yformater
- 互联网晚报 | 3月13日 星期日 |​ ​​上海加强疫情防控:非必要不离沪;MasterGo宣布上线Figma文件导入功能...
- 装机人员工具_海鲜真空贴体包装机你了解的多吗
- mysql使用全备文件恢复单个库或者单个表
- java静态初始化模块,在静态初始化程序块中加载java属性
- Oracle统计某一年中的1-12个月的数据总和
- 找出不是两个数组共有的元素(学习去重复算法)
- 在发送邮件HTML中,CSS等问题
- ElementUI实现表单校验
- r语言与数据挖掘最佳实践和经典案例数据_R语言与数据挖掘最佳实践和经典案例...
- windows系统ping端口及利用telnet命令Ping 端口
- C#毕业设计——基于C#+asp.net+SQL server的客户关系管理系统设计与实现(毕业论文+程序源码)——客户关系管理系统
- 抖音源码为什么会成为短视频源码中的翘楚
- 韩顺平 教学资料下载
热门文章
- 十大互联网公司都在寻找她!她是什么样的?
- windows扩展C盘空间
- keta-custom DWZ validationEng IE 下表单重复提交BUG原因及修复方法
- Winpcap 中sockaddr_storage问题收藏
- 石川es6课程---1-2、ES6简介
- 网站后台管理界面设计的一些想法
- 从零开始搭建系统2.1——Nexus安装及配置
- 使用JMeter录制手机App脚本
- MySQL中实现Oracle里面 rank()over ( PARTITION BY ORDER BY) 分类分组功能
- 实验仪器参数关系表达与传递