基础语法
int float double bool character(char 单个字符) string
var a = 1
let b = 1
var a = "你好"
var b:String = "我也好"
var str = "xxxx"
type(of:str)
print(item:Any...)
print(str)
print(str,str1)
let s1 = "一只"
let s2 = "小白兔"
var s3 = s1 + s2;
var s4 = "\(s1)\(s2)\(s3)"
var s1 = "中国"
var s2 = "china"
s1 += s2
print(s1)
typealias number8 = Int8
typealias number16= Int16
var a = 1
var b = "1"
var c = b + String(a)
print(type(of:c))
var x = "asdf"
var k = Int(x) ?? 10
print(k)
var a:Int? = 123
var b:Int? = nil;
print(a)
print(a!)
print(b!)
var a = ()
var a:(Int) = ()
var a = (1 , 1.2)
var a:(Int,String) = (1,"123")
var a:(arg0:String,arg1:Int) = ("hello",1)
var a = (arg0:"hello"marg1:"word")
print(a.0)
a.1 = 10
a.arg0 = " "
var a = ("hello","world",true)
var b = a
b.0 = "123"
print(a)
print(b)
+ - * 、 % < > = >= <= != && || ?? += -= *= /=
== != & | ! ~ ^ >> <<
1...5
1..<5
1...
if(true){
}else if(true){
}else{
}
if true {
}else if true {
}else {
}
var a = 10
switch (a){
case 1 :
break
case 2:
break
default:
break
}
switch(a){
case 1,2,3,4:
break
case 5,6,7,8:
break
default:
break
}
for index in 1...5 {
print(index)
}
for (int a = 1; a<= 5 ;a++ ){
System.out.println(a)
}
for index in stride(from: 0, through: 10, by: 2) {
print(index)
}
for (int a = 0; a<= 10 ;a+=2 ){
System.out.println(a);
}
for index in stride(from: 0, to: 10, by: 2) {
print(index)
}
for (int a = 0; a< 10 ;a+=2 ){
System.out.println(a);
}
for index in stride(from: 0, to: 10, by: 2).reversed() {
print(index)
}
continue
break
while(true){
}
var str = "ABCD"
print(str.count)
var i:String.Index = str.startIndex
var j:String.Index = str.endIndex
print(str[i])
print(str[str.index(after: i)])
print(str[str.index(before: j)])
print(str[str.index(i, offsetBy: 2)])
var lastIndex = str.index(before: j)
print(str[i...lastIndex])
print(str[i..<lastIndex])
print(str.prefix(2))
print(str.contains("E"))
print(str.contains(where: String.contains("AE")))
str.append("EFG")
print(str)
str.insert(contentsOf: "000", at: str.startIndex)
print(str)
str.replaceSubrange(str.startIndex...str.startIndex, with: "1")
print(str)
str.remove(at: str.startIndex)
print(str)
for item in str {
print(item)
}
var str =
"""
hello
apple
swift
"""
print(str)
var s = #" (*&%……¥#@@%%|」「?》《“ "#
print(s)
var a = [Int]()
var a = [1,2,3,4]
var a:[String] = ["你好","世界"]
var a:Array<Int> = [1,2,3,4]
a.append(1)
a += [5]
var a = [12,11]
var b = [14,44]
var c = a + b
var a:Set = [1,2,3]
var a:Set<String> = ["1","2"]
var a:Set<Int> = []
var a = ["A":"a","V":"v"]
var a:Dictionary<String,String> = ["A":"a","V":"v"]
var a = [String:String]()
var b:Dictionary<String,String>? = nil
var a = ["1":"1","2":"2"]
for (key,value) in a {
print(key,value)
}
func test( a:Int,b:Int) ->Int
{
var i = a;
i *= 2
return i
}
var i = 2
func test( a:inout Int)
{
a *= 2
}
test(a: &i)
print(i)
func test(arg0 a:Int,agr1 b:Int) ->Int
{
var i = a;
i *= 2
return i
}
func test( a:Int,b:Int...) -> Int
{
var i = a;
for x in b{
i += x
}
return i
}
print(test(a: 2, b: 1,2,3,4))
var func1: (Int,Int)->Int
func sum(a:Int,b:Int)->Int{
return a + b
}
func test() -> (Int,Int)->Int
{
return sum(a:b:)
}
func1 = test()
print(func1(10,20))
var a:(Int,Int)->Int = {(a:Int,b:Int)->Int in
return a + b
}
print(a(10,20))
var func1: (Int,Int)->Int
func sum(a:Int,b:Int)->Int{
return a + b
}
func test(func1:(Int,Int)->Int) -> Int{
return func1(10,20)
}
print(test(func1: sum))
func sum() -> Int {
func sum2()->Int{
return 10 + 10
}
return sum2()
}
print(sum())
func test(arg1 a:Int,arg2 b:Int)->Int{
guard a<10 && b<10 else {
return a + b
}
return a * b
}
print(test(arg1: 10, arg2: 10))
{
(a:Int , b:Int ) -> void in
}
enum TestEnum : Int{
case ONE = 1
case TWO = 2
}
print(TestEnum.ONE)
print(TestEnum.ONE.rawValue)
struct Test{
var name:String
var age:Int
}