鴻蒙語言ArkTS
一.軟體佈局
可以備份多個ets檔案(複製黏貼),但是隻執行Index.ets
二.日誌檔案列印
開啟預覽器就能檢視程式碼執行效果,預覽器實時更新(儲存就更新)。
console.log('說話內容','helloworld') //console.log的語法:console.log('解釋',實際內容)會在日誌裡列印,解釋說明用//單行註釋 @Entry @Component struct Index { @State message: string = 'Hello World' build() { Row() { Column() { Text(this.message) .fontSize(50) .fontWeight(FontWeight.Bold) } .width('100%') } .height('100%') } }
三.變數和常量
(1)變數的儲存和修改
//變數的儲存 //1.字串型 string let a:string='I LOVE YOU!' console.log('字串',a) //2.數字型 let b:number=12 console.log('數字型',b) //3.布林型 let c:boolean=false console.log('布林型',c) //變數的修改 a='我愛你' b=1 c=true console.log('字串',a) console.log('數字型',b) console.log('布林型',c) @Entry @Component struct Index { @State message: string = 'Hello World' build() { Row() { Column() { Text(this.message) .fontSize(50) .fontWeight(FontWeight.Bold) } .width('100%') } .height('100%') } }
總結
變數儲存
let 變數名:變數型別=變數值
變數修改
變數名=新值
注意事項:
1.字串型用引號(單引號,雙引號都行)
2.變數值需要和定義的變數型別一致
(2)常量
//變數的儲存 const pi:number=3.1415 console.log('常量pi的值',pi) @Entry @Component struct Index { @State message: string = 'Hello World' build() { Row() { Column() { Text(this.message) .fontSize(50) .fontWeight(FontWeight.Bold) } .width('100%') } .height('100%') } }
常量定義
const 常量名:常量資料型別=值
常量不可修改
(3)總結
資料型別:全都選小寫
字串型別string
數字型number
布林型boolean
命名規則:
1.只能包含數字字母下劃線$,不能以數字開頭
2.不能使用關鍵字或保留字
3.嚴格區分大小寫
四.陣列
//陣列 let a:boolean[]=[true,false,true] console.log("布林陣列",a) console.log("布林陣列索引訪問元素:",a[0]) @Entry @Component struct Index { @State message: string = 'Hello World' build() { Row() { Column() { Text(this.message) .fontSize(50) .fontWeight(FontWeight.Bold) } .width('100%') } .height('100%') } }
總結:
1.陣列的定義
let 陣列名:存放元素的資料型別[ ]=[值]
2.索引訪問元素,下標從0開始
3.陣列元素型別應與定義陣列存放型別一致
五.函式
(1)function函式
function price(a:number,b:number){ return a*b } console.log('蘋果兩元一斤,三斤總價',price(2,3)) let c:number=price(4,4) console.log('香蕉四元一斤,4斤總價',c) @Entry @Component struct Index { @State message: string = 'Hello World' build() { Row() { Column() { Text(this.message) .fontSize(50) .fontWeight(FontWeight.Bold) } .width('100%') } .height('100%') } }
函式總結:
函式的定義:
function 函式名(形參名:資料型別){
函式體
return 返回值//有就寫沒有返回值就不寫
}
注意:形參和實參個數一致
(2)箭頭函式
let price=(a:number,b:number)=>{ return a*b; } let star=()=>{ console.log('星星','*') console.log('星星','**') console.log('星星','***') console.log('星星','****') console.log('星星','*****') } console.log('蘋果兩元一斤,三斤總價',price(2,3)) let c:number=price(4,4) console.log('香蕉四元一斤,4斤總價',c) star() @Entry @Component struct Index { @State message: string = 'Hello World' build() { Row() { Column() { Text(this.message) .fontSize(50) .fontWeight(FontWeight.Bold) } .width('100%') } .height('100%') } }
箭頭函式:
函式定義
let 函式名=(形參:資料型別)=>{
return 返回值;//無返回值的不寫
}
函式呼叫:
同上面function函式法
六. 物件
(1)屬性
//物件 interface person{ age:number weight:number name:string } let yy:person={ age:18, weight:100, name:'小瑤瑤' } console.log("瑤瑤的名字",yy.name) yy.name='瑤瑤' console.log("瑤瑤的名字",yy.name) @Entry @Component struct Index { @State message: string = 'Hello World' build() { Row() { Column() { Text(this.message) .fontSize(50) .fontWeight(FontWeight.Bold) } .width('100%') } .height('100%') } }
總結物件的使用:
首先定義介面
interface 介面名{//裡面無逗號
屬性名:屬性資料型別
}
然後定義物件
let 物件名:要呼叫的介面名={//各屬性間有逗號
屬性名: 屬性值,
屬性名:屬性值
}
注意事項:
1.定義的介面可以多個結構相同的物件使用
2.修改物件屬性值
物件名.屬性名=新值
3.訪問物件屬性值
物件名.屬性名
(2)方法
interface person{ age:number weight:number name:string sing:(song:string)=>void dance:()=>void cal:(a:number,b:number)=>number } let yy:person={ age:18, weight:100, name:'小瑤瑤', sing:(song:string)=>{ console.log('歌曲的名字:',song) }, dance:()=>{ console.log('行為:','跳舞') }, cal:(a:number,b:number)=>{ return a+b } } yy.dance() yy.sing('最炫民族風') console.log('計算結果',yy.cal(2,3)) @Entry @Component struct Index { @State message: string = 'Hello World' build() { Row() { Column() { Text(this.message) .fontSize(50) .fontWeight(FontWeight.Bold) } .width('100%') } .height('100%') } }
總結物件方法:
1.首先在介面裡定義方法型別
方法名:(形參:形引數據型別)=>返回值型別//沒有返回值用void
2.然後在物件裡定義方法用箭頭函式法
方法名:(形參:形引數據型別)=>{
方法體
}
3.使用方法
物件名.方法名(形參:形引數據型別)
注意:方法名與介面中方法名對應
七.聯合資料型別
//聯合型別 //1.限定取值可以是多個資料型別 let a:string|number=6 console.log('a的值是:',a) a='A+'//修改a值 console.log('a的值是:',a) //2.限定取值 let b:'man'|'woman'|'secret'='woman' console.log('b的值',b) @Entry @Component struct Index { @State message: string = 'Hello World' build() { Row() { Column() { Text(this.message) .fontSize(50) .fontWeight(FontWeight.Bold) } .width('100%') } .height('100%') } }
總結:
聯合型別:用於存放不同型別資料或者限定取值
1.限定多種資料型別
let 變數名:資料型別1|資料型別2|資料型別3=值//這個值必須是限定資料型別內
2.限定取值
let 變數名:取值1|取值2|取值3=值//這個值必須是限定值內
八.列舉型別
enum Trancolor{ Red='#ff0f29', Orange='#ff7100', green='#30b30e' } let a:Trancolor=Trancolor.Red console.log('a的值是',a)
總結:
列舉:存放多個對應常量值
首先定義列舉型別
enum 列舉型別名稱{
常量1=值1,
常量2=值2,
常量3=值3}
然後使用列舉
let 名稱:列舉型別名稱=列舉型別名稱.列舉裡常量名