定义一个block ,block的功能传入一个字符串并计算字符串长度
@autoreleasepool{
typedefvoid(^myblock)(char*);
myblockmblock = ^(char*a){
for(inti=0; ; i++) {
if(a[i]=='\0') {
printf("%d",i);
break;
}
}
};
mblock("njjn");
}
return0;
//字符串长度strlen(),比较strcom(),拷贝,拼接。。。。
//字符串的创建
//可变字符串和不可变字符串
letstr ="hello"
//拼接
letstr1 ="1+2 =\(3)"
//根据已经存在的字符串来创建新的字符串
letstr2:String="\(str),world"
//格式化创建字符创
//format:我们自定义的格式arguments:参数集合,要用一个小括号来包括
letstr3:String= String(format:"%d+%d = %d", arguments: [3,4,7])
letstr4 = String(format:"%d+%d = %d",4,5,9)
//字符串长度,4表示utf-8的编码
//let length=str3.lengthOfBytesUsingEncoding(4)
//print("length = \(length)")
//判断一个字符串是否为空
ifstr4.isEmpty{
print("str4为空")
}
//判断相等(后、前缀是否等于某一个字符串两个字符串是否全等)
letstring0="hello"
letstring1="hello"
ifstring0 == string1{
print(string0=string1)
}
ifstring0.hasPrefix("he"){
print("string0是以he开头的")
}
ifstring0.hasSuffix("lo"){
print("string0是以lo结尾的")
}
//大小写转化
//将字符串全部转化为大写:uppercaseString
letstring2 = string0.uppercaseString
//转化为小写:lowercaseString
lettemp ="hhduhduhHHH"
letstring3 =temp.lowercaseString
print("string3=\(string3)")
//可变字符串,拼接,
varmutableStr ="hello"
print(mutableStr)
mutableStr+="world"
print(mutableStr)
puts(str)
puts(str1)
puts(str2)
puts(str3)
puts(str4)
//数组
//可变数组可以动态的添加,删除元素
//swift中的数组可以存放一种,多种数据类型(C语言中只能存放同种数据类型)
//(1)字面量创建一个数组
letnumArray=[1,2,3,4,5]
letnumArray1 = [1.2,2.2,3.2,4.2]
//创建一个空的整型数组
letnumArray2:[Int] = [Int]()
//字符串
letstrArray:[String] = ["hello","world","jinhua"]
print(numArray)
print("numArray1 =\(numArray)")
print("cdjh-----\(strArray)")
//数组中存放多种数据类型
letarray = [1,2,3,2.1,2.2,"hello"]
letarray1:[NSObject] = [1,2,3,2.1,2.2,"hello"]
//访问数组元素:通过下标
print(array1[2])
print(numArray[1])
//数组容量:count
letcount =array1.count
//注意:访问数组的元素不能数组越界
//数组的遍历,支持for循环遍历,同样支持for-in遍历
for(vari=0;i
print(array[i])
}
//for-in遍历就是遍历这个数组,把数组里面的东西依次给i
foriin0..
print(array[i])
}
//建立一个整型数组,对整型数组进行for-in遍历,如果元素是偶数的话就打印出来,求奇数之和
letArray:[Int] = [1,2,3,4,5,6,7,8,9,10]
varsum=0
forainArray{
if(a%2==0) {
print(a)
}else{
sum+= a
}
}
println(sum)