ios程序猿学习Swift 第一天 从Hello World开始

ゞ 浴缸里的玫瑰 2022-07-31 16:25 233阅读 0赞

简单起见,从Command Line Tool 工程开始
简单起见,从Command Line Tool 工程开始

Language 一定要选择 Swift
Language 一定要选择 Swift

  1. import Foundation
  2. println("Hello, World!")

Apple 为我们生成的 Hello World!

无需导入一个单独的库供输入输出和字符串处理;全局范围的代码就是用于程序的入口,无需编写一个 main() 函数;无需在每个语句后写分号;这就是一个完整的程序了!

运行一下,OK!开始愉(ku)快(bi)的敲代码吧!

变量定义:

  1. var myVariable = 100

常量定义:

  1. let myConstant = 168

if 控制流:

  1. if true_or_false {
  2. println("OK!")
  3. } else {
  4. println("KO!")
  5. }

while 循环:

  1. var n = 2
  2. while n < 100 {
  3. n = n * 2
  4. }

现在可以写一个猜数字的游戏了!

  1. let myMagic = 68
  2. var youGuess = readln()?.toInt()
  3. while (youGuess != myMagic) { if(youGuess < myMagic) { println("小了") } else { println("大了") } youGuess = readln()?.toInt() } println("你真聪明")

readln是从命令行读取参数的方法,类似C语言中的scanf。暂时没有从swift中找到类似的库函数,所以只能自己实现一个。

以下是完整的程序:

  1. import Foundation
  2. //从命令行读入数据 swift 里还真是麻烦 我们暂时忽略这个函数的实现,直接调用
  3. public func readln(max:Int = 8192) -> String? {
  4. assert(max > 0, "max must be between 1 and Int.max")
  5. var buf:Array<CChar> = []
  6. var c = getchar()
  7. while c != EOF && c != 10 && buf.count < max {
  8. buf.append(CChar(c))
  9. c = getchar()
  10. }
  11. //always null terminate
  12. buf.append(CChar(0))
  13. return buf.withUnsafeBufferPointer { String.fromCString($0.baseAddress) }
  14. }
  15. //常量定义:
  16. let myMagic = 68
  17. var youGuess = readln()?.toInt()
  18. while (youGuess != myMagic) {
  19. if(youGuess < myMagic) {
  20. println("小了")
  21. } else {
  22. println("大了")
  23. }
  24. youGuess = readln()?.toInt()
  25. }
  26. println("你真聪明")

参考文章:
http://gashero.iteye.com/blog/2075324
http://stackoverflow.com/questions/24004776/input-from-the-keyboard-in-command-line-application

发表评论

表情:
评论列表 (有 0 条评论,233人围观)

还没有评论,来说两句吧...

相关阅读