Swift中的資料型別
資料型別 swift 中常見的資料型別 Int 、Float、Double、Character、String Array、Dictonary、元組型別(Tuple)、可選型別(Optional) 可以看出,資料型別的首字母都是大寫的 如何指定變數 常量的資料型別 在常量 變數名後面加上冒號(:)和型別名稱 let age:Int = 10 上面程式碼表示:定義了一個Int型別的變數age 初始值是10 一般來說 沒有必要明確指定變數 常量的型別 如果在宣告常量、變數時賦了初始值 Swift 以自動推斷出這個常量、變數的型別 let age = 20 //Swift 會推斷出age是Int型別 因為20是個整數 變數初始化 Swift嚴格要求變數在使用之前必須進行初始化 因為Swift是強型別 而且是型別安全的語言 兩個型別不一樣是不能相加的 下面的寫法是錯誤的 var a:Int let c = a + 10 第一行程式碼中:Swift並不會為變數a賦初值 a沒有初始化 第二行程式碼會報錯 下面的程式碼是正確的 var a:Int = 20 let c = a + 10 整數分為2種類型 有符號(signed) 正 負 0 無符號(unsigned) 正 負 0 Swift提供了8、16、32、64位的有符號和無符號的整數 比如 UInt8: 8位無符號整型 Int32: 32位有符號整型 Int8、Int16、Int32、Int64、UInt8、UInt16、UInt32、UInt64 最值 可以通過max 和min 屬性來獲取某個型別的最小值和最大值 let minValue = UInt8.min let maxValue = UInt8.max Int和UInt Swift 提供了特殊的有符號整型和無符號的整型 Int\UInt的長度和當前系統平臺一樣 在32為系統平臺上 Int和UInt 的長度是32位 在64為系統平臺上 Int和UInt 的長度是64位 Int在32位系統平臺的取值範圍:-2147483648~2147483647 建議 在定義變數時 不要總考慮有符號 整數長度的問題 儘量使用Int 這樣可以保證程式碼的簡潔性 和可複用 不會出現強制轉換的程式碼 儲存範圍 每種資料型別都有自己的儲存範圍 Int8儲存的範圍是:-128~127 UInt8的儲存範圍是:0~255 如果數值超出了儲存範圍 編譯器就會直接報錯 下面的語句會直接報錯 let num1:UInt8 = -1 let num2:Int8 = Int8.max + 1 第一行程式碼報錯原因UInt8不能儲存負數 第二行程式碼報錯的原因Int8能儲存的最大值是Int8,max 整數的表示形式 整數的4中表示形式 十進位制:沒有字首 let i1 = 10 //10 二進位制:以0b為字首 let i2 = 0b1010 //10 八進位制:0o為字首 let i3 = 0o12//10 十六進位制:以0x為字首 let i4 = 0xA //10 浮點數 浮點數:就是小數 Swift提供了兩種浮點型別 Double:64位浮點數 當浮點值非常大或需要非常精確的使用此型別 Float: 32位浮點數 當浮點值不需要使用Double的時候使用此型別 精確程度 Double 至少15位小數 Float 至少6位小數 如果沒有明確說明型別 浮點數預設就是Double型別 let num = 0.14 浮點數的表示形式 浮點數 可以使用十進位制和十六進位制2種進位制來表示 十進位制沒有字首 沒有指數 let d1 = 12.5 有指數 let d2 = 0.125e2 十六進位制(以0x為字首且一定要有指數) let d3 = 0xC.8p0 ==0xC.8*2o==12.5*1 let d3 = 0xC.8p1 == 12.5*2 ==25 數字格式 數字可以增加額外的格式 使他們更容易閱讀 可以增加額外的0 let money = 001999 //1999 let money2 = 001999.000 //1999.0 可以增加額外的下劃線_增強可讀性 1. let oneMillion1 = 1_000_000 //1000000 2. let oneMillion2 = 100_0000 // 1000000 3. let overOneMillon = 1_000_000.000_001//1000000.000001 增加了額外的0_ 並不會影響數值的大小 型別轉換 兩個型別不的同的數值 是不能直接進行計算的 下面的語句是錯誤的 let num1:Uint8 = 10 let num2:Int = 20 let sum:Int = num1 + num2 第3行會 報錯 報錯原因:num1是UInt8型別的,num2是型別Int 型別不同 將num1轉化為Int型別 就能與num2進行相加 下面的語句是正確的 let sum:Int = Int(num1) + num2 下面的語句是正確的 let sum = 3 + 2.14 兩者的相加結果是5.14 等賦值之後 編譯器會自動推斷出sum是Double 型別 類型別名 可以使用typealias關鍵字定義型別的別名 跟C 語言的typedef作用類似 typealias MyInt = Int //給Int型別起了個別名加做MyInt 原型別名稱能用在什麼地方 別名就可以用在什麼地方 宣告變數、常量型別 let num:MyInt = 20 獲得型別的最值 let minValue = MyInt.min 型別轉換 let num = MyInt(3.14)//3
相關推薦
JS中資料型別的分類
JS中資料型別的分類: (1).基本資料型別: 1.數字(number) 2.字串(string) 3.布林(boolean) 4.null 5.undefined (2).引用資料型別: 1.物件資料型別(object) 2.函式資料型別(function)
Javascript中資料型別&深淺拷貝二
資料型別: Javascript中有5種基本資料型別(簡單資料型別),分別為:Undefined, Null, Boolean, Number和String; 同時還含有一種複雜資料型別,即物件(雖然js中一切皆為物件) 其中Undefined和Null的區別為: U
java中資料型別
xl_echo編輯整理,交流學習請加1280023003 百戰不敗,依不自稱常勝,百敗不頹,依能奮力前行。——這才是真正的堪稱強大!! 基本資料型別有一下四種 int資料型別有: byte(8bit, -128~127) short(16bit) int
VHDL中資料型別轉換與移位(STD_LOGIC_ARITH與NUMERIC_STD)
1. VHDL目前常用庫檔案 目前寫VHDL程式時,大部分人已經熟悉的庫呼叫如下所示: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsi
swift基礎-資料型別-元組
//定義一個元組 let http500Error = (500,"internal sever error") let (statusCode,statusMessage) = http500Error statusCode statusMessage let perso
swift基礎-資料型別-String
//定義一個字串 let hello = "hello" let entity = "CoolKeTang" //通過拼接獲取一個變數 var helloWords = hello+","+entity helloWords+="!" //獲取當前字串中字元的數量 helloWord
swift基礎-資料型別-Double和Float
//定義一個浮點型別變數 通過變數的樹枝 判斷變數型別為浮點型 var a = 1.5 //定義一個float型別的浮點型。精度不高的話可以使用這個 var b:Float = 2.5 //獲取Float的最大值 var c = Float.infinity //定義一個double
SQLServer之資料庫型別對應Java中資料型別
SQL Server 型別 JDBC 型別 (java.sql.Types) Java 語言型別 bigint BIGINT long timestamp binary
oracle中資料型別對應java型別[轉載] oracle中資料型別對應java型別
oracle中資料型別對應java型別 轉載地址:https://www.cnblogs.com/softidea/p/7101091.html 地址: http://otndnld.Oracle.co.jp/document/products/oracle10g/102/
Java中資料型別的轉換
/** * 資料型別的相互轉換 * */ public class DataTypeTranfer { public static void main(String[] args) { /** * 每個型別額轉換都有不止一種方式轉換 * 在我認為最方便的就是裝箱拆箱轉換。把
redis中資料型別以及一些使用命令總結
redis資料型別:String、Hash、List、Set(無序不重複)以及zset(sorted Set(有序集合))。 在String中可以使用set/get來進行賦值和取值,String型別的值最大可以儲存512MB(一個鍵值)。 hash是一個鍵值對集合,是一個String
python中資料型別
示例: xiaoming = {‘name’: ‘小明’, ‘age’: 20} print(xiaoming) print(type(xiaoming)) 根據鍵提取值 print(xiaoming[‘name’]) 根據不存在的鍵獲取值時會報KeyError錯 print(xiaoming[‘heigh
JavaScript中資料型別轉換
在js中,資料型別轉換分為顯式資料型別轉換和隱式資料型別轉換。 1, 顯式資料型別轉換 a:轉數字: 1)Number轉換: 程式碼: var a = “123”; a = Number(a); 注意: a) 如果轉
python 中資料型別--列表、元組的理解(一)
資料型別--列表、元組 一、列表 list 數值 score=80 字串 name1="tom" name2="jerry" name3="kate" 當需要儲存多個元素的
Java中資料型別及其之間的轉換
基本的資料型別 基本型別有以下四種: 1)int長度資料型別有:byte(8bits)、short(16bits)、int(32bits)、long(64bits)、 2)float長度資料型別有:單精度(32bits float)、雙精度(64bits double),J
在Talend 的tMap元件中資料型別轉換函式總結(一)
1.1 字串與數值型別相互轉換 1.1.1 字串轉為浮點型、整形 1)Float.parseFloat(row3.working_time ) Float.valueOf(String s) Float.valueOf(int s) 2)Integer.pars
JAVA中資料型別之間的轉換規則分為兩種
2018年11月02日 15:09:15 十四月 閱讀數:3 標籤: 基礎概念
java中資料型別在堆與棧中的儲存
1.基本資料型別 eg:int i=1; 基本資料型別都存在棧中,它並沒有建立物件,只是將值放入變數的引用中。 2.引用型別 2.1 String a="abc"; //實際上a是引用變數,"abc"是物件(其實也算不上物
c#中資料型別及轉換
值型別:(13種) a.值型別變數可以直接分配給一個值。它們是從 類 System.ValueType 中派生的。 b.值型別直接儲存其值 c. 值型別的例項通常是線上程棧上分配的(靜態分配),但 是在某些情形下可以儲存在堆中 d. 值型別總是分配在它宣告的地方:作為欄位時,跟隨其所 屬的變
C語言中資料型別的本質
資料型別可以理解為固定記憶體大小的別名。比如int型別,就是表示佔用4位元組的記憶體。 1 資料型別的大小 用sizeof操作符獲得資料型別的大小。 比如 int a[5]; sizeof(a)就可以得出int型陣列a的大小是20位元組