soy文件的语法规则

1.声明全局的命名空间

 

{namespace examples.simple}

 

2.声明模板自己的名称

 

{template .helloWorld}  ...  {/template}

 

 

3.在备注中,声明模板体中的参数:@param 参数名

    @param? 表示可选参数

   在模板体中,声明参数: { @param 参数名:参数说明 }   

   3.1  引用已经声明的参数:$ 参数名

   例如:引用名为“folders”的map集合中第一个元素的key为“name”对应的值,表示为:

   $folders.0.name    OR    $folders[0].name     OR   $folders[0]['name']

 

/**
 * Greets a person using "Hello" by default.
 * @param name The name of the person.
 * @param? greetingWord Optional greeting word to use instead of "Hello".
 */
{template .helloName}
  {if not $greetingWord}
    Hello {$name}!
  {else}
    {$greetingWord} {$name}!
  {/if}
{/template}

 

 

/**
 * Says hello to a person.
 */
{template .helloName}
  {@param name: string} /** Name of the person to say hello to. */
  Hello {$name}!
{/template}

    3.2自动注入子模板中的数据:$ij

 

    3.3 基本引用和空值安全引用

    基本引用:$a[0] 、$a.b

    空值安全引用:$a?[0]、$a?.b  【当左侧(?之前的部分)未定义或为null时,空值安全访问将计算为null】

     3.4 注意:不带$符号的是全局数据。(全局是不作为参数显式传递到模板中的数据)

 

4.模板之间的调用:call

 

/**
 * Greets a person and optionally a list of other people.
 * @param name The name of the person.
 * @param additionalNames The additional names to greet. May be an empty list.
 */
{template .helloNames}
  // Greet the person.
  {call .helloName data="all" /}<br>            //data="all"表示把调用模板的所有数据都导过来
  // Greet the additional people.
  {foreach $additionalName in $additionalNames}
    {call .helloName}
      {param name: $additionalName /}
    {/call}
    {if not isLast($additionalName)}
      <br>  // break after every line except the last
    {/if}
  {ifempty}
    No additional people to greet.
  {/foreach}
{/template}

 

5. 调用函数以获取模板内容:  模板全名() 或者    模板全名({ 参数名:参数值 }) 

 

 

 // Exercise the .helloWorld template
    document.write(examples.simple.helloWorld());
    // Exercise the .helloName template
    document.write('<hr>' + examples.simple.helloName({name: 'Ana'}));
    // Exercise the .helloNames template
    document.write('<hr>' + examples.simple.helloNames( {name: 'Ana', additionalNames: ['Bob', 'Cid', 'Dee']} ) ); 

 

6.基本数据类型

 

Null,Boolean,Integer,String,Float

List 例如:[1, 'two', [3, false]],[]表示空list

Map 例如:['aaa': 42, 'bbb': 'hello'], [:]表示空map

 

7.在soy文件中调用国际化.properties文件配置的key-value值:

 

{ getText('confluence.tutorial.soy.templates.intro') }getText('confluence.tutorial.soy.templates.intro') }

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要读取csv文件的某一列,可以使用Python的csv模块或pandas库。以下是几种读取csv文件某列的方法: 方法一:使用csv模块 ```python import csv with open('2.csv', 'r') as csvfile: reader = csv.reader(csvfile) column1 = \[row\[1\] for row in reader\] print(column1) ``` 上述代码使用csv模块的reader函数读取csv文件,并通过索引获取指定列的数据。 方法二:使用pandas库 ```python import pandas as pd # 读取指定列的数据 d = pd.read_csv('2.csv', usecols=\['a', 'b'\]) print(d) # 读取指定列的前10行数据 d = pd.read_csv('2.csv', usecols=\['a', 'b'\], nrows=10) print(d) ``` 上述代码使用pandas库的read_csv函数读取csv文件,并通过usecols参数指定要读取的列。可以通过nrows参数限制读取的行数。 方法三:使用csv模块的DictReader函数 ```python import csv with open('A.csv', 'r') as csvfile: reader = csv.DictReader(csvfile) column = \[row\['Age'\] for row in reader\] print(column) ``` 上述代码使用csv模块的DictReader函数读取csv文件,并通过列的标题查询获取指定列的数据。 以上是几种常用的读取csv文件某列的方法,根据具体需求选择适合的方法即可。 #### 引用[.reference_title] - *1* [Python:读取CSV文件的某几列](https://blog.csdn.net/wenkao123456/article/details/105303269)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Python 读取csv的某列](https://blog.csdn.net/test_soy/article/details/79718458)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值