当前位置:首页 > 商讯 >

swift -结构体

作者:厦门七星音乐岛文化传播有限公司 发布时间:2017-09-05 12:32:39

swift -结构体



//
// main.swift
// Struct-Demo-05
//

import Foundation

println(结构体测试!)
//结构体和C语言的结构体不同
//swift结构体可以带函数/C++
struct QHTest {
var x = 0;//定义一个结构体 x y
var y = 0;//0是初值
//定义结构体的构造函数
init(){//真正的构造函数
//定义一个空的构造函数, 构造函数是以init开头的 自动调用
//oc alloc init] 这个需要我们主动调用
NSLog(in init);
}
//构造函数参数,那么以后带上参数,必须携程QHTest(x:100,y:200);
init(x:Int,y:Int)
{
//定义了带有两个参数的构造函数
self.x = x;
self.y = y;
NSLog(in init(x:y));
}
//_ underscore 这个可以让调用的时候不用写x:
// x: y: 这个就是label oc/label
init(_ x:Int,_ y :Int)
{
self.x = x;
self.y = y;
}
//但是结构体没有析构函数,和面向对象有点不同
func getCenter()->Int{
return (x+y)/2;
}
//给现有的点x,y加上delta
//在调用的时候
//obj.addOffset(100,deltaY:200);
mutating func addOffset(deltaX:Int,deltaY:Int){
//因为结构体是一个拷贝的对象(是一个引用)
//函数内部是不能修改变量的
//mutating 是可以让函数修改里面的变量
x += deltaX;
y += deltaY;
}
};

func testStructure(){
//定义一个结构体
//结构体的定义是 结构体的名字()
var s = QHTest(x:100,y:200);
println(s.x = (s.x) s.y = (s.y));
var s2 = QHTest();
s2.x = 111;
s2.y = 222;
println(s2.x = (s2.x) s2.y = (s2.y));
//这种构造函数和我们c++ java类似了
var s3 = QHTest(333,444);
println(s3.x = (s3.x) s3.y = (s3.y));
s3.x = 600;
let c = s3.getCenter();
println(c is (c));
s3.addOffset(100, deltaY: 200);
println(s3.x = (s3.x) s3.y = (s3.y));
}
testStructure();


企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:武汉网页制作 http://www.feimao666.com

  • 上一篇:Python基础语法
  • 下一篇:最后一页
  • 

    COPYRIGHT © 2015 厦门七星音乐岛文化传播有限公司 ALL RIGHTS RESERVED.

    本站所有原创信息,未经许可请勿任意转载或复制使用

    网站地图 技术支持:肥猫科技
    精彩专题:网站建设
    购买本站友情链接、项目合作请联系客服QQ:2500-38-100