[Swift] 1. 変数とデータ型、コレクションタイプ.
18574 ワード
varとlet
let name: type = value
var name: type = value
値のタイプが明確であれば、タイプを省略できます!let name = value
var name = value
let constant : String = "차후에 변경이 불가능한 상수 let"
var variable : String = "차후에 변경이 가능한 변수 var"
variable = "변수는 이렇게 차후에 다른 값 할당 가능"
//constant=「定数以降は値を変更できません」//エラーlet sum: Int
let inputA: Int = 100
let inputB: Int = 200
// 선언 후 첫 할당
sum = inputA + inputB
// sum = 1 // 그 이후에는 다시 값을 바꿀 수 없습니다, 오류발생
// 변수도 물론 차후에 할당하는 것이 가능합니다
var nickName: String
nickName = "yagom"
// 변수는 차후에 다시 다른 값을 할당해도 문제가 없지요
nickName = "야곰"
## 데이터 타입
let implicitInteger = 70
let implicitInteger = 70.0
宣言時にデータ型を指定しない場合、コンパイラはIntとDoubleのタイプとして追跡します.let explicitDouble: Double = 70
データ型を「ダブル」(Double)に指定して70を割り当てますが、タイプは「ダブル」(Double)です.Any
var someAny : Any = 100
someAny = "어떤 타입도 수용 가능"
someAny = "90.5"
Anyは任意のタイプとして使用できます.タイプの変更
let label = "The width is"
let width = 94
let widthLabel = label + String(width)
値を絶対的に異なるタイプに暗黙的に変更することはできません.Stringタグタイプを使用して置換
最後の行Stringを削除中にエラーが発生しました.
文字列に値を含めます。
let width Label=label+String(width)以外の他の表現.
let apples = 3
let oranges = 5
let appleSummary = "I have \(apples) apples."
let fruitSummary = "I have \(apples + oranges) pieces of fruit."
複数の文字列を表示
複数行を表示するには、(")タグを使用します.
let quotation = """
i said "I have \(apples) apples."
And then i said "I have \(apples + oranges)
pieces of fruit."""
Collection Type
Array
空のInt Arrayの作成
var integers : Array<Int> = Array<Int>() // []
integers.append(1) //[1]
integers.append(100) //[1,100]
integers.contains(100) //true
integers.contains(99) //false
integers.remove(at:0) //index가 0인 값을 제거하고 return 1
integers.removeLast() //100
integers.removeAll() //모든 값들을 제거 []
integers.count //배열의 길이 return 0
//배열을 포현하는 다른 방법
var doubles:Arrays<Double> = [Double]()
var String : [String] = [String]()
var characters : [Character] = []
//let을 사용하여 불변한 Arrays append,remove 같은 함수 사용 불가.
let immutableArray = [1,2,3]
Dictionary
空のDictionaryを作成します.鍵はStringタイプで、値はAnyです.
var anyDictionary : Dictionary<String,Any> = [String:Any]()
anyDictionary["someKey"] = "value" // return "value"
anyDictionary["anotherKey"] = 100 // return 100
anyDictionary // ["someKey : "value","anotherKey":100]
anyDictionary["someKey"] = "dictionary" // return "dictionary"
anyDictionary // ["someKey : "dictionary","anotherKey":100]
anyDictionary.removeValue(forkey:"another") // 해당하는 key set remove.
anyDictionary["someKey"] = nil // somekey에 해당하는 set 제거.
anyDictionary// [:]
let emptyDictionary : [String:String] = [:]
let initalizeDictionary : [String:String] = ["name":"doyun","gender":"male"]
emptyDictionary["key"] = "value" // let이므로 에러 발생.
let someValue : String = initalizeDictionary["name"] // 에러 발생 optional 에서 확인.
Set
空のInt Setの作成
var integerSet : Set[Int] = Set<Int>()
integerSet.insert(1) // return inserted true, memberAfterInsert(1)
integerSet.insert(100) // return inserted true, memberAfterInsert(1)
integerSet.insert(99) // return inserted true, memberAfterInsert(1)
integerSet.insert(99) // return inserted false, memberAfterInsert(1)
integerSet.insert(99) // return inserted false, memberAfterInsert(1)
setは重複値を持たないため、重複値がinsertによって呼び出されるとfalse値が返される.integerSet
integerSet.contains(1) // true
integerSet.contains(2) // false
containsメソッドは、コレクションに要素があるかどうかをチェックします.integerSet.remove(100) //100
integerSet.removeFirst() //99
integerSet.count //1
removeメソッドは削除であり、countはセットのサイズです.let setA: Set = [1, 2, 3, 4, 5]
let setB: Set = [3, 4, 5, 6, 7]
// 합집합
let union: Set = setA.union(setB)
print(union) // [2, 4, 5, 6, 7, 3, 1]
// 합집합 오름차순 정렬
let sortedUnion: [Int] = union.sorted()
print(sortedUnion) // [1, 2, 3, 4, 5, 6, 7]
// 교집합
let intersection: Set = setA.intersection(setB)
print(intersection) // [5, 3, 4]
// 차집합
let subtracting: Set = setA.subtracting(setB)
print(subtracting) // [2, 1]
Reference
この問題について([Swift] 1. 変数とデータ型、コレクションタイプ.), 我々は、より多くの情報をここで見つけました https://velog.io/@doyun/Swift-변수와-데이터-타입テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol