2017五月x日铸题,某個google開發(fā)者大會宣布kotlin替代java變成android主力語言铡恕,旗手更替(大概意思,具體不要計(jì)較)丢间。這就跟as和eclipse的關(guān)系一樣咯探熔。
說實(shí)話其實(shí)不怎么關(guān)我事,我扔掉java好多年了烘挫,但是偏偏最近比較閑祭刚,所以決定去看看,邊學(xué)邊做些筆記墙牌。
先放配置:
操作系統(tǒng):kali linux
自帶有openjdk涡驮。
為什么要用openjdk,原因很多啦喜滨。
首先是捉捅,oracle的jdk版權(quán)是在oracle手里,當(dāng)年android用java作為官方開發(fā)語言虽风,我記得沒錯的話棒口,oracle是很想和google打官司的(好像已經(jīng)打了)。然后google就一直琢磨著更換自家親兒子的開發(fā)語言辜膝,一直有傳聞是golang无牵,但是golang不太成氣,國外很火厂抖,什么docker啦茎毁,國內(nèi)來來回回就那幾個公司在自己玩(七牛云等),golang的桌面庫也比較少忱辅,嗨呀七蜘,反正上面我是胡說八道的,就不要反駁我啦墙懂。
第二個重要原因橡卤,我懶……因?yàn)閗ali自帶有openjdk,我又很久不用linux了损搬,感覺更換環(huán)境變量巨麻煩(說出來你不信碧库,我在win下環(huán)境變量都懶得配,直接用netbeans with jdk一步完成)巧勤。
因?yàn)閣indows比較傻瓜嵌灰,沒什么好說的,我這里就linux下搭建說一哈
下面踢关,第二次進(jìn)入正題伞鲫。有關(guān)于kotlin和IDEA和麗麗周的一切(什么鬼?G┪琛)
第一步
因?yàn)橛辛薺dk秕脓,我就不細(xì)說啦,不明白的新手先去裝jdk和配置環(huán)境變量(自己百度下)儒搭。
為了方便吠架,直接去官網(wǎng)下載IDE,我可不想寫命令行去編譯搂鲫,哈傍药,javac,見鬼去吧魂仍。
下面是官網(wǎng)
http://www.jetbrains.com/idea/
按了download之后出現(xiàn)這個拐辽,由于jetbrains家的東西基本上旗艦版都是收費(fèi)的(左),所以我們下載右邊這個擦酌。
下載之后解壓俱诸,反正我用歸檔管理器了,你們要用命令隨便你們赊舶。一直找到里面的bin文件夾下的idea.sh睁搭,修改權(quán)限,改為可運(yùn)行笼平,具體园骆,然后運(yùn)行,即可安裝寓调,
不得了锌唾!出事了!我下載下來的時候文件夾放錯了(或者我一直按下一步選項(xiàng)選錯了)夺英,想轉(zhuǎn)移安裝目錄(或者重新安裝)鸠珠,但是轉(zhuǎn)移之后安裝的快捷方式?jīng)]了或者重新安裝失敗了。
這hin簡單啊秋麸,是這樣的渐排,據(jù)某些不可考(懶)的原因,idea這玩意安裝之后灸蟆,或者說無腦下一步之后會在/root/下設(shè)定一個.IdeaIC2017.1/ 大概張這樣的隱藏目錄驯耻,這個目錄我用rm什么鬼的命令沒法刪除,但是不要緊炒考,進(jìn)入這個目錄有兩個新的目錄可缚,是config ?system,這兩個是可以刪除的斋枢,刪除之后重新運(yùn)行idea.sh就好啦帘靡。
第二步
這樣就好啦,打開idea瓤帚,新建一個kotlin項(xiàng)目描姚,先不管那么多涩赢,全部默認(rèn),反正都要刪的轩勘,現(xiàn)在的目標(biāo)是helloworld筒扒。
在src目錄下新建一個文件,怪了绊寻,怎么會出現(xiàn)kotlin [file / class](<--注意看這里花墩,務(wù)必看清楚)的選項(xiàng),文件和類澄步,可是我只想隨便建一個文件打印helloworld啊冰蘑,他們會不會是不同的東西啊,索性直接做實(shí)驗(yàn)村缸,新建一個001file祠肥,再新建一個002class,再新建一個001class王凑,如下:
發(fā)現(xiàn)結(jié)論1 :同名的file和class不能同時存在搪柑,原因未知,先不去管他索烹。
然后輸出以下官方代碼
fun main(args: Array) {
? ? ? println("Hello, world!")
}
先用001file試一試工碾,哈,就像eclipse運(yùn)行java代碼一樣百姓,run渊额,講道理應(yīng)該輸出"Hello, world!"的,但是詭異的事情發(fā)生了垒拢,在kotlin file運(yùn)行時報錯旬迹,具體錯誤就不說了,在kotlin class 里頭就正常了求类。我現(xiàn)在也是一臉喵喵喵奔垦。于是我又去新建了003kotlin file確認(rèn)一下,還是上面那段代碼尸疆,有了驚人的發(fā)現(xiàn)椿猎,右鍵文件之后run選項(xiàng)右邊出現(xiàn)兩個選項(xiàng),由于沒有名字寿弱,我姑且把第一個稱之為A犯眠,這個選項(xiàng)是有問題的,是拿來干嘛的症革,我暫時還不清楚筐咧,選第二個B才是對的,成功輸出helloworld,今天的任務(wù)結(jié)束量蕊,大家晚安铺罢。
結(jié)論2,所謂的file和class其實(shí)就是一回事危融,他們之所以區(qū)分是為了以后更好的維護(hù)(猜測)畏铆,就像命名空間一樣雷袋。也就是說隨便你建立哪一個都是一樣的吉殃。
順便說一下 代碼由官網(wǎng)提供,官網(wǎng)還提供有web版的學(xué)習(xí)器楷怒,代碼很全蛋勺,還能運(yùn)行,大家想自學(xué)的趕緊啊鸠删。
順便說一下2 我開了個Q群聊天吹水學(xué)弄碼都行抱完,群里有工作經(jīng)驗(yàn)豐富的諸位,大家有興趣可以加
452495830