Swift学习字符串、数组、字典

一.字符串的使用

let wiseWords = "\"I am a handsome\"-boy"
var emptyString = ""
if emptyString.isEmpty{
println("这是一个空值")
}

简单说明:isEmpty方法是用来判断字符串是否为空值的,之后会执行if语句中的println方法,因为emptyString是一个空的字符串。

注意:创建一个空的字符串有两种方法,一是如emptyString = "" ;另一种是通过字符串类实例化一个空的字符串 var emptyAnotherString = String().

假如我们想要遍历字符串中的每个字符,可以采用 for in,如:

for cha in "dog!"
{println(cha)
}

通过playground可以看出有四个字符输出:分别是d、o、g、!.

如果想要获取一个字符串的字符数,可以利用countElements方法:

let unusualMenagerie = "Koala , Snail , Penguin , Dromedary "
println("unusualMenagerie has \(countElements(unusualMenagerie)) characters")

可以看到在playground中输出这么一段话:"unusualMenagerie has 36 characters".

字符串的大小写:

大写:uppercaseString

小写:lowercaseString

let normal =  "Could u help m,please?"
let shouty = normal.uppercaseString
let small = normal.lowercaseString

此时shouty = "COULD U HELP M,PLEASE?"而small = "could u help m,please?"

二:数组

首先定义一个可变数组:

//数组
var arr = ["dog","cat","cow"]

可以知道arr数组中包含三个元素,分别是dog、cat、cow

这个时候如果想在原有的数组中再插入一条数据,可以采用如下的方法实现:

//插入
arr.insert("dog", atIndex:  0)

 这条语句是在arr索引为0的位置插入dog值,此时的arr数组就有四个有效值,分别是dog、dog、cat、cow

移除数组中指定位置的值(假如移除索引为1处的值):

//移除
let sub = arr.removeAtIndex(1)

如果想要移除数组中最后一个元素的值:

//移除最后一个元素
let sub2 = arr.removeLast()

取出数组中的索引和对应的值:

//取索引和值
for (index,value) in enumerate(arr){
println("Item \(index + 1): \(value)")
}

可以在playground中清楚的看到打印结果如图示:

三:字典

字典类型写为字典<KeyType, valueType>,KeyType 可以用作字典键的数值类型,valueType 是 字典为那些键储存的数值类型。唯一的局限是 KeyType 必须是 hashable,基本类型(比如 String、Int、Double 和 Bool)都默认为是 hashable

初始化一个字典:

var animals : Dictionary<String,String> = ["dog":"狗", "cat":"猫" ,"cow":"牛"]

修改字典中某一个key对应的value有两种方式可以选择:

animals["dog"] = "这是一条狗"
animals.updateValue("小明", forKey: "perple")

其中updateValue(forKey:)的返回值是旧值

想要在原字典中添加一个键值对,可以直接以下面这种方式实现:

animals["perple"] = "人"

 

  

转载于:https://www.cnblogs.com/li--nan/p/4504196.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/258908.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python对excel操作简书_Python读写Excel表格,就是这么简单粗暴又好用

最近在做一些数据处理和计算的工作&#xff0c;因为数据是以.CSV格式保存的&#xff0c;因此刚开始直接用Excel来处理。 但是做着做着发现重复的劳动&#xff0c;其实并没有多大的意义&#xff0c;于是就想着写个小工具帮着处理。 以前正好在一本书上看到过&#xff0c;使用Pyt…

九度 1470 调整方阵

题目描述&#xff1a; 输入一个N&#xff08;N<10&#xff09;阶方阵&#xff0c;按照如下方式调整方阵&#xff1a;1.将第一列中最大数所在的行与第一行对调。2.将第二列中从第二行到第N行最大数所在的行与第二行对调。依此类推...N-1.将第N-1列中从第N-1行到第N行最大数所…

halcon/c++接口基础 之 halcon初认识

从今天开始&#xff0c;开始更新博客&#xff0c;主要分享自己最近正在翻译的Halcon/C教程。先给出第一篇文章&#xff0c;由于此文章&#xff0c;是用latex写的&#xff0c;直接导成html&#xff0c;保存在七牛云存储上&#xff0c;所以直接点击链接就看到&#xff0c;后面我将…

指数型组织形成的 9 大驱动因素

指数时代&#xff0c;是一个前所未有的激动人心的世界。 Airbnb, 谷歌, 亚马逊和GitHub这些知名的公司&#xff0c;都有一个让人称羡的共同点&#xff0c;那就是——他们都是非常成功的指数型组织&#xff08;Exponential Organizations&#xff0c;ExO’s&#xff09;。 “在当…

Java for LeetCode 061 Rotate List

Given a list, rotate the list to the right by k places, where k is non-negative. For example: Given 1->2->3->4->5->NULL and k 2, return 4->5->1->2->3->NULL. 解题思路&#xff1a; 只需找到对应的位置&#xff0c;然后指向head&…

mysqld:表mysql.plugin不存在_99%测试工程师不知道的数据库知识|干货

点击上方“蓝字”关注我们数据库&#xff0c;简而言之可视为电子化的文件柜——存储电子文件的处所&#xff0c;用户可以对文件中的数据进行新增、查询、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立…

Windows Phone 执行模型概述

Windows Phone 执行模型控制在 Windows Phone 上运行的应用程序的生命周期&#xff0c;该过程从启动应用程序开始&#xff0c;直至应用程序终止。 该执行模型旨在始终为最终用户提供快速响应的体验。为此&#xff0c;在任何给定时间内&#xff0c;Windows Phone 仅允许一个应用…

halcon/c++接口基础 之 构造函数与Halcon算子

Halcon/C提供了构造函数&#xff0c;主要基于适合的Halcon算子。比如说HImage和HBarCode基于read_image and create_bar_code_model。 请注意当前的Halcon版本针对不同的算子构造函数的功能不同。如下我们介绍了一些最常用的Halcon算子&#xff0c;而一个完整的构造函数列表可…

Android Wifi简单的梳理【转】

本文转载自&#xff1a;http://blog.csdn.net/gabbzang/article/details/10005411 代表一个已经配置过的网络。包含网络ID(networkId)、该网络ID代表的网络的BSSID和SSID、加密机制、密码等信息。 WifiInfo&#xff1a; 代表一个正在建立或者已经建立的网络连接。该网络的BSSID…

fenby C语言 P30

int a[5]&#xff0c;*pa; int a[5],*p&a[0]; #include <stdio.h> int main(void){ int a[5],*pa,i; for(i0;i<5;i) { *p1; p; }pp-5;for(i0;i<5;i,p)printf("%d\n",*p);return 0;}转载于:https://www.cnblogs.com/amiaojiang/p/4507114.html

bat自动输入用户名和密码_「小白到大牛之路6」交换机后台管理之重复输入用户名和密码...

项目需求解决项目5中存在的问题&#xff1a;用户名和密码只能输入一次。如果输入错误&#xff0c;就没有机会重新输入。项目实现#include int main(void) {// 定义变量&#xff0c;用来表示用户名和密码char name[32];char password[16];//输入用户名和密码while (1) {// 输入用…

并行计算简介

转自&#xff1a;http://www.cnblogs.com/wasd/archive/2009/04/07/1430859.html 并行计算简介 作者&#xff1a; Blaise Barney, 劳伦斯利弗莫尔国家实验室 译者&#xff1a;卢洋&#xff0c;同济大学&#xff0c;2009年4月 原文地址&#xff1a;https://computing.llnl.gov/t…

开场 Live,分享点干货——「深入了解 Node.js 包与模块机制」

先放上 Live 地址&#xff1a; www.zhihu.com/lives/84274… 本次 Live 将深入剖析 Node.js 包与模块机制&#xff0c;包括且不限于解析 Node.js 源码、社区规范等。本人认为这是作为一个合格 Node.js 开发者哪怕是不深入也要了解的姿势之一。 本次 Live 主要包括以下内容&…

halcon/c++接口基础 之 析构函数和Halcon算子

所有的HALCON/C类都提供了默认的析构函数用来自动销毁对应的内存。对于某些类&#xff0c;析构函数基于适合的算子&#xff1a; Windows: HWindow类的析构函数基于close_window关闭窗口。注意&#xff1a;算子本身不是析构器。你可以选择调用CloseWindow关闭窗口&#xff0c;…

140字

跑男他们这一组做的游戏&#xff0c;首先按任务来 他们做的技术难度很高感觉。需要在android里面用flash我自己从来没有接触过。而且制作的难度也很大&#xff0c;反正就目前难度系数来说的话&#xff0c;可以秒杀我的DB天气了。然后就是吐槽的也是我最不能忍的就是美化方面做得…

ios 上传图片到阿里云的oss_JEECG BOOT 上传如何同时支持阿里OSS、Minio、本地存储

Jeecg-Boot 提供了文件及图片上传功能&#xff0c;前两个文件已介绍了MinIO和OSS配置&#xff0c;现在可根据需要选择上传方式。文件上传接口(图片/文件)在yml文件中可切换图片/文件存储方式访问路径上送参数说明在yml文件中可切换图片/文件存储方式local为本地存储minio为使用…

halcon/c++接口基础 之内存管理

所有的HALCON类&#xff0c;不仅仅HImage,HRegion,HTuple&#xff0c;HFramegrabber等等&#xff0c;还有面向过程的方法中使用的Hobject&#xff0c;都可以使用默认的析构器自动释放内存。 &#xff08; see also section 2.4 “Destructors and Halcon Operators”)&#xf…

tomcat 禁用access.log

修改 server.xml 注释掉,如: <!-- Access log processes all example.Documentation at: /docs/config/valve.htmlNote: The pattern used is equivalent to using pattern"common"<Valve className"org.apache.catalina.valves.AccessLogValve" dir…

bzoj 3505

3505: [Cqoi2014]数三角形 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 698 Solved: 424[Submit][Status][Discuss]Description 给定一个nxm的网格&#xff0c;请计算三点都在格点上的三角形共有多少个。下图为4x4的网格上的一个三角形。 注意三角形的三点不能共线。 In…

python时间格式_python 格式化日期

常用的时间函数如下 获取当前日期&#xff1a;time.time() 获取元组形式的时间戳&#xff1a;time.local(time.time()) 格式化日期的函数(基于元组的形式进行格式化)&#xff1a; &#xff08;1&#xff09;time.asctime(time.local(time.time())) &#xff08;2&#xff09;ti…