swift菜鳥教程1-5(語法,變量,類型,常量,字面量)

一個樸實無華的目錄

  • 今日學習內容:
    • 1.基本語法
      • 引入
      • 空格規范
      • 輸入輸出
    • 2.變量
      • 聲明變量
      • 變量輸出加反斜杠括號 \\( )
    • 3.可選(Optionals)類型
      • 可選類型
      • 強制解析
      • 可選綁定
    • 4.常量
      • 常量聲明
      • 常量命名
    • 5.字面量
      • 整數 and 浮點數 實例
      • 字符串 實例

今日學習內容:

1.基本語法

引入

在這里插入圖片描述
在這里插入圖片描述

空格規范

在這里插入圖片描述

輸入輸出

在這里插入圖片描述
在這里插入圖片描述

2.變量

聲明變量

在這里插入圖片描述

變量輸出加反斜杠括號 \( )

在這里插入圖片描述

3.可選(Optionals)類型

可選類型

在這里插入圖片描述
在這兩種情況下,變量 optionalInteger 都是可選整數類型。注意,在類型和 ?之間沒有空格。

Optional 是一個含有兩種情況的枚舉,None 和 Some(T),用來表示可能有或可能沒有值。任何類型都可以明確聲明為(或者隱式轉換)可選類型。當聲明一個可選類型的時候,要確保用括號給 ? 操作符一個合適的范圍。例如,聲明可選整數數組,應該寫成 (Int[])? 寫成 Int[]? 會報錯。

當你聲明一個可選變量或者可選屬性的時候沒有提供初始值,它的值會默認為 nil。

可選項遵照 LogicValue 協議,因此可以出現在布爾環境中。在這種情況下,如果可選類型T?包含類型為T的任何值(也就是說它的值是 Optional.Some(T) ),這個可選類型等于 true,反之為 false。
在這里插入圖片描述

強制解析

當你確定可選類型確實包含值之后,你可以在可選的名字后面加一個感嘆號(!)來獲取值。

import Cocoavar myString:String?myString = "Hello, Swift!"if myString != nil {print(myString)
}else{print("myString 值為 nil")
}

以上程序執行結果為:

Optional("Hello, Swift!")

print( myString! )加感嘆號后

import Cocoavar myString:String?myString = "Hello, Swift!"if myString != nil {// 強制解析print( myString! )
}else{print("myString 值為 nil")
}

以上程序執行結果為:

Hello, Swift!

使用!來強制解析值之前,一定要確定可選包含一個非nil的值。

可選綁定

如果包含就把值賦給一個臨時常量或者變量。可選綁定可以用在if和while語句中來對可選類型的值進行判斷并把值賦給一個常量或者變量

import Cocoavar myString:String?myString = "Hello, Swift!"if let yourString = myString {print("你的字符串值為 - \(yourString)")
}else{print("你的字符串沒有值")
}

以上程序執行結果為:

你的字符串值為 - Hello, Swift!

4.常量

常量聲明

import Cocoalet constA = 42
print(constA)

常量命名

import Cocoalet _const = "Hello, Swift!"
print(_const)let 你好 = "你好世界"
print(你好)

5.字面量

整數 and 浮點數 實例

let decimalInteger = 17           // 17 - 十進制表示
let binaryInteger = 0b10001       // 17 - 二進制表示
let octalInteger = 0o21           // 17 - 八進制表示
let hexadecimalInteger = 0x11     // 17 - 十六進制表示let decimalDouble = 12.1875       //十進制浮點型字面量
let exponentDouble = 1.21875e1    //十進制浮點型字面量
let hexadecimalDouble = 0xC.3p0   //十六進制浮點型字面量

字符串 實例

在這里插入圖片描述

import Cocoalet stringL = "Hello\tWorld\n\n菜鳥教程官網:\'http://www.runoob.com\'"
print(stringL)

以上程序執行結果為:

Hello    World菜鳥教程官網:'http://www.runoob.com'

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/901042.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/901042.shtml
英文地址,請注明出處:http://en.pswp.cn/news/901042.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

GAT-GRAPH ATTENTION NETWORKS(論文筆記)

CCF等級:A 發布時間:2018年 代碼位置 25年4月21日交 目錄 一、簡介 二、原理 1.注意力系數 2.歸一化 3.特征組合與非線性變換 4.多頭注意力 4.1特征拼接操作 4.2平均池化操作 三、實驗性能 四、結論和未來工作 一、簡介 圖注意力網絡&…

XML、JSON 和 Protocol Buffers (protobuf) 對比

目錄 1. XML (eXtensible Markup Language) 1)xml的特點: 2)xml的適用場景: 2. JSON (JavaScript Object Notation) 1)JSOM的特點: 2)JSON的適用場景: 3. Protocol Buffers (…

如何通過簡單步驟保護您的網站安全

在如今的數字化時代,網站安全已經成為每個網站管理者都不能忽視的重點。未授權用戶入侵、數據泄露和惡意軟件等威脅越來越多,網站安全對于保護企業、用戶和客戶的數據非常重要。為了幫助您提升網站的安全性,本文介紹了一些簡單且有效的措施&a…

【后端開發】初識Spring IoC與SpringDI、圖書管理系統

文章目錄 圖書管理系統用戶登錄需求分析接口定義前端頁面代碼服務器代碼 圖書列表展示需求分析接口定義前端頁面部分代碼服務器代碼Controller層service層Dao層modle層 Spring IoC定義傳統程序開發解決方案IoC優勢 Spring DIIoC &DI使用主要注解 Spring IoC詳解bean的存儲五…

通付盾風控智能體(RiskAgent): 神煩狗(DOGE)

在數字化業務高速發展的今天,風控系統已成為企業抵御黑產、欺詐、保障交易安全的核心防線。然而傳統風控面臨人力依賴高與策略滯后性等挑戰,數據分析師需每日從海量數據中手動提煉風險特征、設計防護規則,耗時費力;新策略從發現到…

大模型論文:Language Models are Unsupervised Multitask Learners(GPT2)

大模型論文:Language Models are Unsupervised Multitask Learners(GPT2) 文章地址:https://storage.prod.researchhub.com/uploads/papers/2020/06/01/language-models.pdf 摘要 自然語言處理任務,例如問答、機器翻譯、閱讀理解和摘要&am…

分布式ID生成方案的深度解析與Java實現

在分布式系統中,生成全局唯一的ID是一項核心需求,廣泛應用于訂單編號、用戶信息、日志追蹤等場景。分布式ID不僅需要保證全局唯一性,還要滿足高性能、高可用性以及一定的可讀性要求。本文將深入探討分布式ID的概念、設計要點、常見生成方案&a…

記 etcd 無法在docker-compose.yml啟動后無法映射數據庫目錄的問題

1、將etcd 單獨提取 Dockerfile,指定配置文件和數據目錄 #鏡像 FROM bitnami/etcd:3.5.11 #名稱 ENV name"etcd" #重啟 ENV restart"always" #運行無權限 ENV ALLOW_NONE_AUTHENTICATION"yes" #端口 EXPOSE 2379 2380 #管理員權限才…

怎樣才不算干擾球·棒球1號位

在棒球運動中,"干擾球"(Interference)是指球員或場外人員非法影響了比賽的正常進行。以下情況通常 不構成干擾,屬于合法行為或無需判罰: 1. 擊跑員(Batter-Runner)合法跑壘 跑壘限制…

PyTorch實現多輸入輸出通道的卷積操作

本文通過代碼示例詳細講解如何在PyTorch中實現多輸入通道和多輸出通道的卷積運算,并對比傳統卷積與1x1卷積的實現差異。 1. 多輸入通道互相關運算 當輸入包含多個通道時,卷積核需要對每個通道分別進行互相關運算,最后將結果相加。以下是實現…

深入解析 MySQL 中的日期時間函數:DATE_FORMAT 與時間查詢優化、DATE_ADD、CONCAT

深入解析 MySQL 中的日期時間函數:DATE_FORMAT 與時間查詢優化 在數據庫管理和應用開發中,日期和時間的處理是不可或缺的一部分。MySQL 提供了多種日期和時間函數來滿足不同的需求,其中DATE_FORMAT函數以其強大的日期格式化能力,…

SSH配置優化:提升本地內網Linux服務器遠程連接速度與穩定性

文章目錄 引言一. 理解SSH連接過程與影響因素二. 服務器端SSH配置優化三. 客戶端SSH配置優化四. 高級技巧五. 內網穿透突破公網IP限制總結 引言 SSH (Secure Shell) 是一種網絡協議,用于加密的網絡服務,常用于遠程登錄和管理Linux服務器。對于本地內網的…

BERT - MLM 和 NSP

本節代碼將實現BERT模型的兩個主要預訓練任務:掩碼語言模型(Masked Language Model, MLM) 和 下一句預測(Next Sentence Prediction, NSP)。 1. create_nsp_dataset 函數 這個函數用于生成NSP任務的數據集。 def cr…

“實時滾動”插件:一個簡單的基于vue.js的無縫滾動

1、參考連接: 安裝 | vue-seamless-scroll 2、使用步驟: 第一步:安裝 yarn add vue-seamless-scroll 第二步:引入 import vueSeamlessScroll from vue-seamless-scroll/src 第三步:注冊 components: { vueSeamless…

【藍橋杯】賽前練習

1. 排序 import os import sysn=int(input()) data=list(map(int,input().split(" "))) data.sort() for d in data:print(d,end=" ") print() for d in data[::-1]:print(d,end=" ")2. 走迷宮BFS import os import sys from collections import…

pyTorch-遷移學習-學習率衰減-四種天氣圖片多分類問題

目錄 1.導包 2.加載數據、拼接訓練、測試數據的文件夾路徑 3.數據預處理 3.1 transforms.Compose數據轉化 3.2分類存儲的圖片數據創建dataloader torchvision.datasets.ImageFolder torch.utils.data.DataLoader 4.加載預訓練好的模型(遷移學習) 4.1固定、修改預訓練…

第十四屆藍橋杯大賽軟件賽國賽Python大學B組題解

文章目錄 彈珠堆放劃分偶串交易賬本背包問題翻轉最大階梯最長回文前后綴貿易航線困局 彈珠堆放 遞推式 a i a i ? 1 i a_ia_{i-1}i ai?ai?1?i, n 20230610 n20230610 n20230610非常小,直接模擬 答案等于 494 494 494 劃分 因為總和為 1 e 6 1e6…

Python 和 JavaScript兩種語言的相似部分-由DeepSeek產生

Python 和 JavaScript 作為兩種流行的編程語言,雖然在設計目標和應用場景上有差異(Python 偏向后端和腳本,JavaScript 偏向前端和動態交互),但它們的語法存在許多相似之處。以下是兩者在語法上的主要共同點及對比&…

改善 Maven 的依賴性

大家好,這里是架構資源棧!點擊上方關注,添加“星標”,一起學習大廠前沿架構! 建議使用mvn dependency:analyze命令來擺脫已聲明但未使用的依賴項: 還有另一個用例, mvn dependency:analyze 它可…

【SQL】子查詢詳解(附例題)

子查詢 子查詢的表示形式為:(SELECT 語句),它是IN、EXISTS等運算符的運算數,它也出現于FROM子句和VALUES子句。包含子查詢的查詢叫做嵌套查詢。嵌套查詢分為相關嵌套查詢和不想關嵌套查詢 WHERE子句中的子查詢 比較運算符 子查詢的結果是…