文章目录

  • 一、字符串类型变量
  • 二、多行字符串
  • 三、完整代码示例

一、字符串类型变量


在双引号字符串中 , 使用 ${变量名} 进行字符串拼接 ,

  • ${变量名} 符号的取值 , 是在 定义时取值 ;
        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】字符串 ( 字符串拼接 | 多行字符串 )相关推荐

  1. 字符串——C++拼接多个字符串

    拼接多个字符串在C++的可以通过strcpy_s 和srtcat_s实现,如: int main() {char first[10] = {'a','b','c'};char second[] = & ...

  2. 任意输入一个正整数m和m个字符串,统计每行字符串中元音字母的个数。要求使用函数vowel()来判断是否为元音,其余功能在main()函数中实现。

    int vowel(char c) {如果c是元音,返回1,否则返回0} 输入要求:第1行输入m,第2至第m行输入m个字符串,长度不超过50,以回车符结束. 输出要求:分m行输出统计的结果 样例输入: ...

  3. vue动态拼接图片路径、img地址拼接问题 [模板字符串]

    写vue写的不多,记录一下这个小坑 知识点:es6模板字符串${} (一)需求: 使用vue根据后端传的json数组的某一字段来拼接img的src路径,动态的绑定img标签的图片,图片来源本地文件夹, ...

  4. python字符串拼接变量_python拼接变量、字符串的3种方法

    第一种,加号("+"): print 'py'+'thon' # output python str = 'py' print str+'thon' # output python ...

  5. Oracle SQL符号分隔的多行字符串拆分

    之前写了一篇文章,http://blog.csdn.net/seandba/article/details/72644257 讨论了从单行字符串拆分到多行字符串拆分,最后的解决不算圆满. 从一个比较简 ...

  6. python定义字符串类型_Python数据类型之字符串

    1. Python字符串的创建 字符串是Python中最常见的数据类型,通常使用单引号或双引号来定义一个字符串,如下: str = "我是字符串" str1 = '我也是字符串' ...

  7. python 字符串函数 center_python函数及字符串

    今天继续函数的知识总结,还有一些关于字符串的内容. 1.递归函数:函数自己调用自己 使用递归函数条件①必须留出口(函数调用必须有退出)②自己调用自己 def print_num(num): print ...

  8. c语言字符串中的字符无效,字符串操作

    字符串主要用于编程,字符串在存储上类似字符数组,所以它每一位的单个元素都是可以提取的.字符串也有很多操作,在正文将对C语言.C++和java中对其操作进行介绍. 中文名 字符串操作 外文名 strin ...

  9. python 多行字符串拼接_零基础学python的第71天

    #编程语言# 我是"学海无涯自学不惜!",关注我,一同学习简单易懂的Python编程. 第七十一节:字符串的拼接 在前面学习Python的数据类型的时候,就了解过字符串(详见16节 ...

最新文章

  1. Mac OS X 下mysql配置备忘
  2. 图像转文字(分类识别等),文字转图片,实际需要的过程
  3. WPF and Silverlight 学习笔记(十八):WPF样式(Style)与模板(Template)
  4. spark rdd map java_如何在spark RDD(JavaRDD)中获取记录的文件名
  5. wxWidgets:wxToolBar 示例
  6. 合并二叉树—leetcode617
  7. 浏览器json格式化插件 yformater
  8. 互联网晚报 | 3月13日 星期日 |​ ​​上海加强疫情防控:非必要不离沪;MasterGo宣布上线Figma文件导入功能...
  9. 装机人员工具_海鲜真空贴体包装机你了解的多吗
  10. mysql使用全备文件恢复单个库或者单个表
  11. java静态初始化模块,在静态初始化程序块中加载java属性
  12. Oracle统计某一年中的1-12个月的数据总和
  13. 找出不是两个数组共有的元素(学习去重复算法)
  14. 在发送邮件HTML中,CSS等问题
  15. ElementUI实现表单校验
  16. r语言与数据挖掘最佳实践和经典案例数据_R语言与数据挖掘最佳实践和经典案例...
  17. windows系统ping端口及利用telnet命令Ping 端口
  18. C#毕业设计——基于C#+asp.net+SQL server的客户关系管理系统设计与实现(毕业论文+程序源码)——客户关系管理系统
  19. 抖音源码为什么会成为短视频源码中的翘楚
  20. 韩顺平 教学资料下载

热门文章

  1. 十大互联网公司都在寻找她!她是什么样的?
  2. windows扩展C盘空间
  3. keta-custom DWZ validationEng IE 下表单重复提交BUG原因及修复方法
  4. Winpcap 中sockaddr_storage问题收藏
  5. 石川es6课程---1-2、ES6简介
  6. 网站后台管理界面设计的一些想法
  7. 从零开始搭建系统2.1——Nexus安装及配置
  8. 使用JMeter录制手机App脚本
  9. MySQL中实现Oracle里面 rank()over ( PARTITION BY ORDER BY) 分类分组功能
  10. 实验仪器参数关系表达与传递