生时校正-人生中的重要改变事件

职业改变

为了验证这些改变,应当检查第十宫宫始点的过运和推运,以及第四宫宫始点的过运和推运。例如,推运的月亮或太阳可能与天顶形成三分相、六分相或合相。

推运的天顶可能与第十宫的主星,或其他代表职业改变的行星形成相位。与天王星形成的相位可能代表职业上突然的改变。吉星之间的相位可能代表职业生活中正面的变化:推运的天顶和木星或金星的相位(在第十一宫内)可能带来职业上正面的变化。
第十宫主星或在其中的行星可能与第十宫宫始点有过运的相位,例如,如果金星是第十宫主星,它通过过运合相第十宫宫始点。
当第十宫内的一颗行星过运回归到出生时的位置,可能代表职业事项上的改变时期。
当行星过运经过天顶,则会规划职业生活相关的重要事件。过运太阳合相天顶的日子也很重要。
当行星通过第四宫,也可以预期职业生活的发展。例如,当事人可能在土星从第四宫过运时经历困难:职业生活本身的冲突,或者是家庭环境的困难反映到职业中。
外行星对尖轴的过运也是关键性的校正工具。例如,天王星在第十宫宫始点的过运可能带来职业上突然的变化。冥王星在此处的过运可能带来根本性的改变、转化和致命的挑战。这是一种被迫的改变,而非自愿。它可能代表社会地位的权力斗争。海王星对天顶的过运或与宫始点的相位可能带来咨言、优柔寡断、消极被动和瓦解。形成困难相位则代表艰难和辛苦。通常来说,外行星代表命中注定的变化。
土星在第十宫的过运可能带来奖励,但也是努力工作,责任更大的一个时期。对于升职,可以检查土星和第十宫宫始点之间的相位。如果当事人面临重要的职业机会,还应当检查过运木星和第十宫官始点之间的相位。
在孩子的星盘中,天顶代表母亲和父亲的职业地位。

婚姻

检查第七宫宫始点和第一宫宫始点。第七宫主星的相位也很重要。
由于金星和月亮以一种概括性的方式告诉我们婚姻的状况,它们与第七宫宫始点透过过运、推运和太阳弧形成的相位可能代表结婚。因为木星与幸福和扩张有关,它与第七宫宫始点和第四宫宫始点的相位也可以代表婚姻,由此扩大家庭.
婚姻的原因和状况也很重要。所以不应期待金星在所有婚姻中都扮演重要角色。当事人可能由于爱情之外的理由结婚。所以,其他行星可能更重要。例如,如果当事人为了声望而结婚,太阳可能是主导性的因素。同样,木星代表财务原因,火星代表性,天王星代表反抗家庭环境,冥王星代表权力斗争。
在太阳弧向运法中,还可以研究伴侣们决定何时结婚,以及正式订婚的日期。
如果第七宫的主星到达第七宫宫始点或透过过运、推运和太阳弧形相位,也可以期待出现婚姻。
推运的第七宫宫始点和过运行星之间的相位也很重要。或者,第七富的主星可能与作为婚姻征象的行星12有相位。
第十宫也与婚姻有关。在第十宫宫始点的过运或推运可能象征着婚烟。
还应当检查推运的天顶的相位。推运的月亮与推运的天顶合相可能代表婚姻。推运的上升和吉星,或和第七宫主星之间的相位也可能代表婚姻。
比对盘也可以被用作生时校正。如果伴侣其中一人的星盘已经经过校正,透过星盘的叠加,检查关键行星的宫位与尖轴的关系,也可以校正另一张星盘。
应当检查比对盘的过运。例如,当垒加结婚时刻的过运星盘到比对盘上时,吉星或婚姻的征象星可能与尖轴形成相位。
第一段婚姻对校正会更有帮助,使用这些方法的成功率大约有95%。
太阳回联盘中的婚姻徽象
如果在太阳回归盘中看到结婚那一年的征象,则可以总结生时校正是否正确。
  • 月亮在下降点或在第七宫。
  • 上升主星或太阳在第七宫。
  • 吉星(金星和木星)在第一宫或第七宫。
  • 吉星与其他行星成相位,特别是对分相。
  • 月亮和金星成相位.
  • 新月发生在第一宫或第七宫。
  • 满月发生在第一宫一第七宫轴线或第四宫一第十宫轴线。
  • 上升主星和下降主星成相位或互容,并且如果它们合相在第一宫或第七宫。
  • 上升的度数靠近本命第七宫的度数。
  • 与婚姻相关的特殊点及本命盘中的婚姻征象,或与金星、月亮和木星(一般婚姻征象星)形成相位。
我们还可以给这个列表添加更多内容。由于第四宫和第十宫也与婚姻相关,还应检查它们的相位和行星配置。

离婚

应检查离婚前第七宫的状态,因为过运此处的行星的性质,和外行星的过运会是参考点。天王星在第七宫的过运可能带来突然和意外的分离。如果离婚给当事人的生活带来打架和争吵,可以预期冥王星在第七宫过运。如果分居过程是由失望引趣的,或伴侣一方需要更多忠诚,则可以思考是由于海王星的过运。土星在第七宫的过运可能会考验关系。第一有主星和第七宫主星的困难相位可能导致分离。
当推选的月亮经过第七宫,可能会在离婚过程中与其他行星形成困相位。推运的金星和太阳也会在同样的影响下导致离婚
婚姻和离婚也与当事人的社会地位有关,因此对天顶的困难相位或天顶的推运也可能代表离婚。还应当检查与太阳弧的天顶及其主星,或类似火星和天王星这样的行星(产生分离)形成困难相位的时间。
在太阳回归盘中,第一宫和第七宫的对分相,以及第四富在内的三刑会冲可能导致离婚。
如果在一张星盘中看到夫妇离婚发生在第六宫和第十二宫对分相时,那么可以校正星盘,使对分相发生在第一宫和第七宫。如果离婚的根源是特定的冲突,则可以推断火星和冥王星参与在这个对分相中。

 死亡

太阳回归(SR)盘中,以下情况可能显现那一年某人的死亡。
  • 本命上升的度数在SR第八宫。
  • SR上升接近本命上升,如果星盘在其他方面显示出那一年中的死亡。
  • 第八宫主星在上升。
  • SR第八宫主星在本命第一宫。
  • 本命第八宫主星在SR第一宫。
  • SR第八宫主星和上升主星之间的困难相位
冥王星、海王星和土星在上升也可能带来死亡。
其他人的死亡可以从他们的宫位衍生的第八宫来进行预测:例如兄弟的死亡可以看第十宫(从第三宫起算的第八宫).
太阳弧的行星或上升与发光体的困难相位或合相,可能带来父亲或母亲的死亡。

重要的意外事件和手术

上升、上升主星和月亮之间的困难相位可能带来事故。
火星和冥王星在带来死亡的意外事件中很明显。第八宫在这类例子中也很显著。在第八宫的过运代表意外事件和手术。
推运的上升和火星、冥王星、土星和天王星这类行星之间的相位也可能代表意外事件。流血和烧伤是由于火星的影响。当月亮过运到上升,并与这些行星形成相位时,就可能发生意外事件
推运的月亮在本命第八官的宫始点可能代表重要的手术。因为这种手术都需要长时间的休养,因此第四宫、第十二宫以及它们的主星之间的相位可以作为进一步的征象。
在太阳回归盘中,还可以寻找上述提及的凶星与上升的相位。例如,假设当事人有严重的事故,根据暂定的太阳回归盘,火星是第八宫主星,并且在第十二宫,但是和上升的度数没有非常接近的相位。则前以校正星盘,使火星接近太阳回归盘的上升。

重大疾病

在上升和第一宫的行星以及月亮,都与身体健康相关。所以,上升、上升主星或在第一宫的行星的困难相位可能带来健康问题上的负面影响。另一方面,健康问题也与第六宫和第十二宫相关。第六宫主管较轻微的疾病,而第十二宫代表更严重的疾病和住院。这些宫位主星的困难相位代表疾病。
由于这些原因,我们需要确定行星的位置,以及宫始点所落的星座在哪里。例如,假设土星在暂定星盘的第十一宫。如果当事人在与土星有关的困难相位期间有重大疾病或住院,则土星应当在第十二宫,所以星盘需要被校正。
太阳和上升主星位于太阳回归盘的第六宫和第十二宫可能带来重大疾病·
月亮推运至第六宫或第十二宫可能带来疾病。也应当检查推运的第六宫和主要本命行星之间的困难相位。月亮推运到困难相位可能带来重大疾病。
在SR第六宫的行星告诉我们疾病的性质。土星可能显示持久而难以治愈的疾病,木星可能代表肝脏疾病,金星可能带来女性的疾病或糖尿病,月亮可能带来荷尔蒙失调和胃部问题,水星可能代表与呼吸、神经系统相关的疾病。当然,我们还需要检查本命盘。

生子

应当考虑行星在第五宫,特别是其宫始点的过运:尤其是木星和金
星·当第五宫主星在第五宫过运,它会带来生子事件。当第五宫主星或一颗吉星过运经过上升,也可能代表生子。
如果是难产或大量出血,火星可能正在过运第五宫宫始点。流产或难产可能是由于火星或天王星与推运的第五宫,或五宫主星之间的相位导致。本命第五宫和第八宫之间的困难相位可能代表剖腹产。
其他关于生产的征象还包括推运的月亮或金星在第五宫宫始点。推运的第五宫可能与吉星之一,或它的本命主星有相位。太阳弧的金星木星或月亮可能在第五宫宫始点,以及它们中任意一颗可能与第五宫主星有相位。

住所的主要变化

住所的主要变化可能在推运的天底与特定行星形成相位时发生。与天王星的相位带来分离,与冥王星的相位可能显示更根本的改变。与月亮的相位也可能带来住所的改变。推运的月亮可能经过第四宫,特别是在宫始点位置。太阳回归盘中的第四宫同样是重要的。观察过运的行星位于天底、上升和下降时,也可能带来住所的变化。

教育

对于这一点,应当检查第三宫与第九宫的轴线。

未知出生时间的当事人

当你的当事人出生时间不是十分确定时,请尝试以下步骤:
1、确定至少三个、至多六个已知准确时间的,对当事人的人生来说重要的事件。且你应知晓事件的结果以及它对当事人的影响。
2、确定一个由月亮代表的事件,例如结婚、生产、与家庭相关的问题、母亲及健康。
3、选择以下几种方法之一:推演这个日期的四尖轴的太阳弧向运,或使月亮与太阳弧推运的行星形成相位。
假设你选择用来确定准确出生时间的重要事件是当事人孩子的出生。基于在假定的出生星盘中行星的一般位置,找到太阳弧的木星在那个日期接近本命月亮。这种情况下,我们选择木星作为代表孩子的太阳弧的行星,月亮的位置应当基于此来微调。
假设生子的太阳弧的木星在射手座10°20',假定的本命月亮在牡羊座15°45'。它们有5°25'的差。由于现在假设在孩子出生时相位是精确的,因此可以用已知时间的事件来确定本命月亮应当在哪里,才能使太阳弧度数精确。在这个例子中,我们应当把月亮拉回牡羊座10°20',以便木星能在当事人有小孩的那一年精确地到达这里。一旦知道当天本命月亮在牡羊座10°20'的时间,就可以确定上升和天顶的度数。
如果木星不在可以做这种计算的合适的度数上,应当选择另一个事件,并用一颗不同的行星做同样的计算。当然,我们也应当用同样的技,巧处理其他重要事件。

什么是你的命主星以及命主星看法。

先教教大家怎么找出命主星。
所谓的命主星就是我们常听到的上升星座(ASC)的守护星,上升星座是后天十二宫的起始点,象徵着生命的开端,代表着自己、自我认同与个人秉赋等,在占星学中具有相当重要的地位,而命主星是由上升星座衍生而来,重要性当然可想而知,但是从命主星可以得到更多上升星座所不能透露的资讯。
命主星象徵着自己,我们可以从命主星所在的星座与宫位,来探讨命主的个性以及人生重点发展领域,例如命主星落在处女座,个人可能带有处女座天生的细心与整洁,又命主星落在第五宫,小孩、恋爱、创作等领域,将成为命主的发展重心,除此之外,我们还可以透过命主星与其他行星的相位,看出人生中各项生活领域与人物的互动关係,命主星同时也与个人的生命力有关,应用相当广泛。

您可以透過下表得知,其中需要注意的是天蠍、水瓶、雙魚,這三個星座的主星有兩個,這是因為近代發現天王星、海王星、冥王星後,占星家將其分別分配給這三個星座,並採取現代主星與古典主星共管(Co-ruler)的態度。

星座 古典主星 現代主星
牡羊座 火星
金牛座 金星
雙子座 水星
巨蟹座 月亮
獅子座 太陽
處女座 水星
天秤座 金星
天蠍座 火星 冥王星
射手座 木星
魔羯座 土星
水瓶座 土星 天王星
雙魚座 木星 海王星

命主星落在第一宫:不论人生遇到何事,总不忘从自己的立场和个人需要著眼,是个个人意识强、重视自我发展的人。

●命主星落在第二宫:不论生活中有多少事让你忙,只要一有空,脑筋就想著钱财事宜,有努力赚钱的倾向,也很重视金钱的动支方式。

●命主星落在第三宫:不论生活中有多少事让你忙,只要一有空,总是不忘藉由各种管道吸收资讯,是个注重阅读、学习、看电视、交谈、愿意到处走走看看的人。有些人则会相当注重口才训练及业务能力。与兄弟姊妹间的互动也很多。

●命主星落在第四宫:不论生活中有多少事让你忙,也不会忘记家庭,不但重视你的家人,也愿意待在家。

●命主星落在第五宫:不论生活中有多少事让你忙,总不忘休闲娱乐;为人父母者,子女会成为你生命中最放不下心的事。命主星相位不好的人,有可能游戏人间,或沈迷於赌博、打麻将、玩股票….。

●命主星落在第六宫:生活中多操劳,会主动找事做,重视工作,也重视保健。相位不好的人,容易於流年不利时多次生大病。

●命主星落在第七宫:做事情喜欢找伴。虽不见得想找老公或老婆陪同,但至少会想邀一些适当的朋友或人选作陪。

● 命主星落在第八宫:善於利用别人的资源或资助,常会对别人的荷包动脑筋。愿意面对困难,也愿意对各式问题深入追查探究。相位不好的人,容易在不知不觉中去招惹意外。如果是男性的命主星落在这个位置且相位不良,不论生活中有多少事情要忙,只要一有空,就会想追求性爱,有桃花重的暗示。

●命主星落在第九宫:不论有多少事让你忙,总不忘「行万里路,读万卷书」,重视自己的终身学习和再教育,也重视教育他人。喜欢想的深、想的多、或看得广又远。因此,有些人会选择不断进修,有些人则会不断到世界各地游历探索。

●命主星落在第十宫:是个事业心重的人,因而有为人主管或创业的机会。相位不好的人,会在管理位置上、升迁过程或创业过程中一再面临考验。不过,即使现实条件有限,心中对社会地位的渴望仍难以抹灭。

●命主星落在第十一宫:不论生活中有多少事让你忙,朋友永远是你的第一位。喜欢找寻并接近志同道合的人,并愿意为共同目标而凑在一起。应酬、聚会的情况很多。

●命主星落在第十二宫:有隐密做事的倾向,行事不欲为人知;习惯在四下无人的环境中,做自己想做的事。重视精神慰藉,喜欢接触宗教、命理、玄学或艺术。相位不好的人,容易不知不觉的主动招惹小人或怪事。

假若你的金星和水星分别落在两个宫位中,你可以看看这两宫中哪一宫的涵义比较接近自己的人生观。如果是水星所落的宫位比较符合,那么你的上升星座就是双子座。

除了用命主星所落宫位来区别外,由於命主星所落星座,将会影响一个人的待人处事态度,因此也是不可或缺的判断依据。

●命主星落在牡羊座:做事积极、行动迅速、想到就做、一马当先、富有正义感。相位不好的人会因急性子而躁进、莽撞、缺乏耐心,容易忽略别人的感受,容易与不满的人事直接正面冲突,导致人缘差。

● 命主星落在金牛座:你相当重视个人形象,眼光和品味独具,喜欢美的东西。强调物质的重要,做事情有时顶现实的,会考虑投资报酬率。凡事喜欢拟定长期计画,并依计画按部就班行事。喜欢安定的环境,容易固执、缺乏变通的弹性。如果是男性且相位不良的话,会在良好的形象下隐藏重视肉欲的心。

●命主星落在双子座:反应灵敏、口才伶俐又聪明,喜欢广泛的吸收资讯,也善於与人沟通、交流。充满好奇心,喜欢接触新鲜或新奇的人事,因此有善变、难以定下来的情况,同一件事情会做不久,持续力差。对环境和人事的适应力强。

● 命主星落在巨蟹座:善体人意又柔顺,服从性很高。记忆力佳又重情,喜欢缅怀过往、保存旧物,反而容易欠缺积极开创性。家庭观念重,富有母性,很会照顾人,但也喜欢黏人。相位不好的人,容易因为过度付出关心,反而让人喘不过气、想逃离你的保护伞;容易缺乏安全感,对不熟的人产生防卫性或排外性;容易没来由的情绪低潮;对人事过度敏感的结果,使脆弱的心灵容易受伤害。

●命主星落在狮子座:你喜欢当发号施令的人,胜过当动手做事的人。对自己有信心,自认没有什么事情可以难倒你,只看你愿不愿意去做。希望受人瞩目,也容易让别人注意到你的存在。喜欢别人夸赞你或吹捧你。

●命主星落在处女座:拥有一副看起来比实际年龄还小的清秀脸庞。思虑很周密,勤勉、服从又守规,也善於尽义务。喜欢以立下规矩的方式管理自己的生活和其他人事。喜欢乾净,将东西归类的井然有序。长於分析,也有随时做笔记的习惯。

●命主星落在天秤座:你对别人的问题能提出公正客观的建议,对自己的问题却常有优柔寡断、难以下决定的现象。在乎别人对你的看法和眼光,也相当在意别人的感受。常常会有怠惰、提不起劲的情况。

●命主星落在天??座:善於掌控人心和局面,能把人治理的服服贴贴。浑身散发出神秘感和性魅力。宁愿与人纠缠到底,也不甘被人欺负或踩在你的头上。能一针见血的洞悉问题症结。擅长解决问题。喜恶分明。

●命主星落在射手座:乐观、开朗又外向,对人宽容大方,乐於分享,理想高远,智慧会随年龄逐渐增长。喜欢大自然和小动物。也喜欢深入探索学问,或接触远地、异乡的风情。行事自有主张,一旦被人叨念管束,很容易放手不再管、拍拍屁股走人,留下不负责任或逃避的印象。

● 命主星落在魔羯座:拥有严肃的面貌,内心情感压抑,对事情的看法悲观,严谨、严格但认真。愿意长期努力以换取目标的达成。想达成某个目标时,当下会有不理会周围环境的反应,容易给人难以亲近的感觉。相位不好的人,容易感受到生命的责任和苦难,缺乏信心、过度悲观而处处退缩;也容易因视野狭小、不通情理、方法错误,导致长期辛苦却一事无成。有些人则会在辛苦走到某个人生阶段後,把自己的经验加诸在後人身上,采用严厉的教条式管理,让人留下无情的印象。

●命主星落在宝瓶座:对朋友一视同仁,不分阶级贵贱,也能对各种行为和想法采取包容、见怪不怪的态度。拥有自己独特的想法,但基於「道不同、不相为谋」,因此内心纵使坚持自我理念,也懒得与人辩解。重视个人空间,给人难以捉摸的印象。

● 命主星落在双鱼座:感性又随和,不善与人争,也不善拒绝别人,容易逆来顺受,有自我牺牲的情怀,但也因此常被小人利用。容易随命运摆布,任一切自然发展,甘愿沈溺於宿命中而不懂得找寻解脱的出口。相位不好的人,有迷糊、过於理想化、缺乏现实感的倾向,懒散、欠缺积极度,加上容易受环境影响而一再改变行事,因此常常有一事无成的情况。

假若你的金星和水星分别落在两个星座中,你可以看看这两个星座当中的哪一个特质比较接近自己的待人处事态度。如果一样是水星所落的星座比较符合,那么透过两个线索的完全呼应,你的上升星座几乎可以百分百确定为双子座。相对的,如果比对的结果,是金星所落的宫位和星座比较符合你的人生观和待人处事态度,那么你的上升星座将是金牛座。

有时我们也可以藉助两颗星的相位差别,来辅助判断。一个喜欢这世界的人,他的命主星相位会很漂亮;相对的,一个对这世界许多人事常常感到不满的人,则会拥有一颗刑冲相位不少的命主星。假设你对老天给予你的一切颇为满意,又假设你的出生盘中水星相位纯吉,但金星相位很凶,那么我们也可以藉此断定,你的命主星是水星,上升星座为双子座。

甚至,我们还可以藉由第一宫的对宫「第七宫」来辅助判断。如果你是上升金牛,第七宫宫头会落在天??座,第七宫守护星就是冥王星;假设你是上升双子,第七宫宫头必定在射手座,第七宫守护星则为木星。如果你的夫妻感情和睦,定会拥有一个相位不错的第七宫守护星;而一个婚姻不顺遂的人,第七宫守护星将会拥有许多刑冲相位。因此,假设你在婚後常与另一伴起勃厍,又假设你的出生盘中木星相位很差,天??座相位纯吉,那么我们也可依此断定,相位差的木星是你第七宫的守护星,并进而判定你的第七宫宫头落在射手座,因此拥有一个上升星座在双子座的第一宫。

如果你会帮自己看Transit流年,这里也提供你另一种比较方式。假设你是上升金牛,那么第二宫宫头会落在双子座,水星将是你第二宫(金钱宫)的守护星;假设你是上升双子,那么水星将是你第一宫的守护星。回忆一下:找出出生盘的水星曾被某年的流年木星(或土星)刑冲的时期,想想当时自己发生了什么事。如果当年的财运有明显波动,并成为你烦恼的根源,那么水星将是你第二宫的守护星,而第一宫上升星座将判定为金牛座;假如当年水星被流年引动时,面临了个人身体的状况不断、或人生阶段突破过程有烦恼,那么水星应是你第一宫上升星座的守护星,上升星座应为双子座。

希望以上的各种方法,可以帮助你确定自己的上升星座。

其实,占星学还有许多方法可帮助我们确定上升星座,例如利用流年系统中的「一度一年法」或「一日一年法」,与以往各种事件发生的时点加以对照後,也能校正出自己的星盘。不过,这需要有基本的占星学底子才行。有兴趣的话,以後再进一步接触吧

Astrolog 32 命令字典

 

Astrolog 系统要求:
(略)
************************
命令开关列表
************************
Astrolog (版本 5.40) 命令开关:
 -H: 显示此帮助列表.
 -Hc: 显示程序版权.
 -HC: 显示黄道星座和宫的名字.
 -HO: 显示可用的行星和其他天体.
 -HA: 显示可用的相位, 及其角度和容许度.
 -HF: 显示天文星座的名字.
 -HS: 显示行星在太阳系中的信息.
 -HI: 显示星座宫行星和相位的意思.
 -He: 一起显示所有的信息表 (-Hc-H-Y-HX-HC-HO-HA-HF-HS-HI).
 -Q: 显示完成后提示提示更多的命令行开关.
 -Q0: 与 -Q 相似, 但在启动时提示额外的开关选项.
 -M <1-48>: 运行指定的命令开关宏.
 -M0 <1-48> <字符串>: 定义指定的命令开关宏.
 -Y: 显示不常用命令开关的帮助列表.
决定要显示的星盘类型的开关:
 -v: 显示对象位置列表 (默认的选择).
 -v0: 与 -v 相似, 但表示速度相对于平均速度.
 -w [<行>]: 以图形方式显示星盘.
 -w0 [..]: 类似于 -w 但 4-9 宫中的对象以倒序显示.
 -g: 显示行星的相位和中点表格.
 -g0: 类似于 -g 但也标记相位配置 (例如 Yod 的).
 -g0: 对于比较星盘, 显示中点而非相位.
 -ga: 类似于 -g 但指明入相位而非不同的容许度.
 -gp: 类似于 -g 但生成平行和反平行相位.
 -a: 显示所有相位列表按影响力排序.
 -a0: 类似于 -a 但也显示相位概要.
 -a[0]a: 类似于 -a 但指明入相位和出相位的容许度.
 -a[0]p: 类似于 -a 但针对平行和反平行相位.
 -m: 以黄道带顺序显示所有对象中点.
 -m0: 类似于 -m 但也显示中点概要.
 -ma: 类似于 -m 但也显示从中点到行星的相位.
 -Z: 显示行星的本地地平线位置.
 -Z0: 类似于 -Z 但相对于极坐标中心的表示坐标.
 -Zd: 搜索对象本地升落时间所在的天.
 -S: 显示行星在太空中的 x,y,z 坐标位置.
 -l: 在星盘中显示各行星的高格林扇区.
 -l0: 类似于 -l 但近似扇区使用 Placidus 宫头.
 -j: 在星盘中显示各对象星象的影响力.
 -j0: 类似于 -j 但包括每个黄道星座的影响力.
 -L []: 显示行星角度的天文图位置.
 -L0 [..]: 类似于 -L 但也显示纬度过境的列表.
 -K: 显示给定月份的日历.
 -Ky: 类似于 -K 但显示整年的日历.
 -d []: 显示一天内发生的所有相位和变化.
 -dm: 类似于 -d 但显示整月所有相位.
 -dy: 类似于 -d 但显示整年所有相位.
 -dY <年数>: 类似于 -d 但在几年内搜索.
 -dp <月> <年>: 显示推运星图中的相位.
 -dpy <年>: 类似于 -dp 但显示整年的相位.
 -dpY <年> <年数>: 类似于 -dp 但显示给定年数的相位.
 -dp[y]n: 搜索当前月/年的推运相位.
 -D: 类似于 -d 但按影响力而非时间显示相位.
 -E: 显示给定月份行星星历表.
 -Ey: 显示整年的行星星历表.
 -EY <年数>: 显示给定年数的行星星历表.
 -e: 同时显示所有星盘 (例如 -v-w-g0-a-m-Z-S-j0-L0-K-d-D-E).
 -t <月> <年>: 计算指定月中的所有行运到本命行星.
 -tp <月> <年>: 计算指定月中推运到本命的星盘.
 -tr <月> <年>: 为星盘计算指定月中的所有返照.
 -t[p]y: <年>: 计算整年的行运/推运.
 -t[p]Y: <年> <年数>: 计算指定年数的行运.
 -t[py]n: 计算当前行运到本命星.
 -T <月> <天> <年>: 按影响力排序显示行运.
 -Tp <月> <天> <年>: 显示推运而不是行运.
 -T[p]n: 按影响力排序显示当前日期的行运.
 -P [<点数>]: 显示阿拉伯点列表和它们的位置.
 -P0 [<点数>]: 类似于 -P 但显示公式翻转.
 -P[z,n,f]: 排序阿拉伯点按位置, 名字或公式.
 -I [<列>]: 显示选定星盘的解释.
影响星盘参数的开关:
 -n: 用当前时间计算星盘.
 -n[日,月,年]: 用指定的时间计算星盘.
 -z [<时区>]: 改变默认的时区 (对于 -d-E-t-q 选项).
 -z0 [<偏移>]: 修改默认的夏时制设置.
 -zl <经度> <纬度>: 修改默认的经度和纬度.
 -zt <时间>: 仅设置当前星盘的时间.
 -zd <日>: 仅设置当前星盘的日.
 -zm <月>: 仅设置当前星盘的月.
 -zy <年>: 仅设置当前星盘的年.
 -zi <名字> <地名>: 设置当前星盘的名字和地名.
 -q <月> <日期> <年> <时间>: 用指定日期值计算星盘.
 -qd <月> <日期> <年>: 用指定日期的中午时间计算星盘.
 -qm <月> <年>: 计算第一个月的星盘.
 -qy <年>: 计算指定年第一天的星盘.
 -qa <月> <日期> <年> <时间> <时区> <经度> <纬度>:
    用给定的数据自动计算星盘.
 -qb <月> <日期> <年> <时间> <夏时制> <时区> <经度> <纬度>:
     类似于 -qa 但使用额外的夏时制偏移参数.
 -qj <天数>: 计算指定儒略日时间的星盘.
 -i <文件>: 基于给定文件内容计算星盘.
 -i[2,3,4] <文件>: 载入星盘信息至 #2, #3, 或 #4 星盘.
 -o <文件> [..]: 将当前星盘参数写入文件.
 -o0 <文件> [..]: 类似于 -o 但输出行星/宫位置.
 -os <文件>, > <文件>: 重定向文本星盘输出到文件.
影响星盘使用的信息的开关:
 -R [<对象1> [<对象2> ..]]: 从显示中去掉指定的星体.
 -R0 [<对象1> ..]: 类似于 -R 但首先限制一切.
 -R1 [<对象1> ..]: 类似于 -R0 但取消限制并显示所有对象.
 -R[C,u,U]: 限制所有小行星宫头, 所有虚星, 或恒星.
 -RT[0,1,C,u,U] [..]: 限制 -t 列表中的行运行星.
 -RA [<相位1> ..]: 给它们以负的容许度来限制相位.
 -C: 在星盘中包括角和非角宫头.
 -u: 在星盘中包括外海王星体/虚星.
 -U: 在星盘中包括固定背景星的位置.
 -U[z,l,n,b]: 按方位角, 高度, 名称, 或亮度排序.
 -A <0-18>: 指定星盘中使用的相位数量.
 -Ao <相位> <容许度>: 为一个相位指定最大容许度.
 -Am <行星> <容许度>: 指定一个行星允许的最大容许度.
 -Ad <行星> <容许度>: 指定加给一个星球的容许度.
 -Aa <相位> <角度>: 改变一个相位的实际角度 .
影响星盘计算的开关:
 -b: 使用星历文件来进行更精确的位置计算.
 -b0: 类似于 -b 同时显示位置精确到秒.
 -c <值>: 选择一个不同的默认分宫制.
     (0 = Placidus, 1 = Koch, 2 = Equal, 3 = Campanus,
     4 = Meridian, 5 = Regiomontanus, 6 = Porphyry, 7 = Morinus,
     8 = Topocentric, 9 = Alcabitius, 10 = Equal (MC),
     11 = Neo-Porphyry, 12 = Whole, 13 = Vedic, 14 = None.)
 -s [..]: 计算恒星星盘而非通常的回归星盘.
 -sr: 计算正确的上升位置相对于赤道.
 -s[z,h,d]: 显示位置,如在黄道带,小时/分钟,或度.
 -h [<对象编号>]: 计算以指定对象为中心的位置.
 -p <月> <天> <年>: 生成日期的第二推运星盘.
 -p0 <月> <天> <年>: 生成日期的太阳弧星盘.
 -p[0]n: 生成基于当前日期的推运星盘.
 -pd <天数>: 设置推运的天数 (默认为 365.25).
 -x <1-360>: 生成基于指定因子的泛音盘.
 -1 [<对象编号>]: 生成指定对象在上升时的星盘.
 -2 [<对象编号>]: 生成指定对象在天顶时的星盘.
 -3: 在对象的黄道十度分度位置显示它们.
 -f: 显示宫作为星座位置(翻转它们).
 -G: 仅基于地理位置计算宫.
 -J: 以吠陀格式显示轮式星盘.
 -9: 在对象的黄道那凡沙位置显示它们.
 -F <对象编号> <星座> <度>: 强制对象的位置为值.
 -+ [<天数>]: 以指定的天数生成未来的星盘.
 — [<天数>]: 生成指定的天数以前的星盘.
 -+[m,y] [<值>]: 生成指定年月以后的星盘.
有关星盘关系和比较的开关:
 -r <文件1> <文件2>: 计算关系配对星盘.
 -rc <文件1> <文件2>: 计算复合星盘.
 -rm <文件1> <文件2>: 计算时空中点盘.
 -r[c,m]0 <文件1> <文件2> : 加权星盘.
 -rd <文件1> <文件2>: 显示文件日期间的时间跨度.
 -rb <文件1> <文件2>: 显示生物节律从文件1到文件2.
 -r0 <文件1> <文件2>: 在比较时保持星盘的分离.
 -rp[0] <文件1> <文件2>: 类似于 -r0 但运行文件1推运至文件2.
 -rt <文件1> <文件2>: 类似于 -r0 但处理文件2为行运.
 -r[3,4]: 生成三轮或四轮图形星盘.
 -y <文件>: 这特定的星盘显示当前宫行运.
 -y[b,d,p,t] <文件>: 类似于 -r0 但计算到当前时间.
访问图形选项的开关:
 -k: 使用 Ansi 字符和颜色显示文本星盘.
 -k0: 类似于 -k 但只使用特殊字符, 不使用 Ansi 颜色.
 -V <25,43,50>: 启动文本模式设置为行数.
 -X: 创建一个图形星盘,而不是作为文本显示它.
 -Xb: 创建 bmp 图形文件而不是把图形放到屏幕上.
 -Xb[n,c,v,a,b]: 设置 bmp 文件格式为 X11 普通,压缩,非常紧凑,Ascii(bmtoa),或 Windows bmp.
 -Xp: 创建 PostScript stroke 图形而不是 bmp 文件.
 -Xp0: 类似于 -Xp 但创建完全的而非封装文件.
 -XM[0]: 创建 Windows metafile stroke 图形而不是 bmp.
 -Xo <文件>: 写输出 bmp 或图形到指定文件.
 -XB: 显示 X 星盘在根上而不是在单独的窗口中.
 -Xm: 创建单色图形而非彩色的.
 -Xr: 以逆转的颜色创建星盘图形 (白色背景).
 -Xw <横向> [<纵向>], -ge[..]: 改变图形星盘的大小.
 -Xs <100,200,300,400>: 改变地图或字符大小百分比.
 -Xi: 以稍微修改的形式创建星盘图形.
 -Xt: 禁止在图形底部显示星盘信息.
 -Xu: 禁止显示图形周围的边框.
 -Xl: 抑制星盘图形对象点标记.
 -Xj: 不清除屏幕之间的图表更新,绘制路径。
 -X1 <对象>: 旋转轮式星盘,以使对象在左边缘。
 -X2 <对象>: 旋转轮式星盘,以使对象在上边缘。
 -Xd <名字>, -di[..] <名字>: 在指定的显示打开 X 窗口.
 -XW: 简单地创建一个世界地图图形.
 -XW0: 类似于 -XW 但执行一个非矩形的摩尔魏特投影.
 -XG [<度>]: 显示世界的形象作为一个球体.
 -XP: 类似于 -XG 但是从极性投影创造球体.
 -XF: 显示在天体上的星座图.
 -Xn [<模式>]: 在动画模式中启动星盘或球体显示.
 -HX: 显示屏幕图形按键选项列表.
 -W <值>: 内部运行给定的窗口菜单命令.
 -WN <1-32000>: 设置动画更新延迟以毫秒为单位.
 -WM <1-48> <文本>: 为宏命令设置窗口菜单文本.
 -Wn: 不重绘屏幕直到用户强制更新.
Astrolog (版本 5.40) 隐蔽的命令开关:
 -Y: 显示此帮助列表.
 -Yn: 计算本地真位置而非平位置.
 -Yd: 以 日/月/年 格式显示日期.
 -Yt: 以 24 小时显示日期而不是 am/pm 格式.
 -YC: 自动忽略不重要的宫头相位.
 -Y8: 截去文本星盘最右边的(如第八十)列.
 -YQ <行数>: 显示满屏后暂停文本滚动.
 -Yo: 以老的格式输出星盘信息和位置文件.
 -Yc: 角宫头对象是宫位置而不是角度.
 -Yz <分>: 当前星盘向前推进指定时间.
 -Yl <1-36>: 为扇区星盘切换扇区的 plus zone 状态.
 -YP <-1,0,1>: 设置夜间星盘的阿拉伯点计算方式.
 -Yb <天数>: 设置生物节律区间天数.
 -YE <对象><半长轴><偏心(3)><倾斜(3)><近日点(3)><升交点(3)><时间偏移(3)>
    修改对象轨道为给定元素值.
 -YR <对象1> <对象2> <标记1>..<标记2>: 为对象范围设置限制.
 -YRT <对象1> <对象2> <标记1>..<标记2>: 行运限制范围.
 -YR0 <标记1> <标记2>: 设置星座方向变化的限制.
 -YRZ <升> <天顶> <落> <天底>: 为 -Zd 星盘设置限制.
 -YAo <相位1> <相位2> <容许度1>..<容许度2>: 设置相位容许度范围.
 -YAm <对象1> <对象2> <容许度1>..<容许度2>: 设置最大行星容许度范围.
 -YAd <对象1> <对象2> <容许度1>..<容许度2>: 设置行星星容许度增加范围.
 -YAa <相位1> <相位2> <角度1>..<角度2>: 设置行星相位角范围.
 -Yj <对象1> <对象2> <影响力1>..<影响力2>: 设置对象影响力范围.
 -YjC <宫头1> <宫头2> <影响力1>..<影响力2>: 设置宫头影响力.
 -YjA <相位1> <相位2> <影响力1>..<影响力2>: 设置相位影响力范围.
 -YjT <对象1> <对象2> <影响力1>..<影响力2>: 设置行运影响力范围.
 -Yj0 <影响力1> <影响力2> <影响力3> <影响力4>: 设置给定的影响力给入庙星座,耀升星座,入庙宫,耀升宫中的行星.
 -YJ <对象> <星座> : 设置星座行星的入庙和伴同入庙.
 -YJ0 <对象> <星座>: 为给定的耀升星设置黄道星座.
 -YI <对象> <字符串>: 为对象自定义解释.
 -YIa <星座> <字符串>: 自定义星座的解释副词.
 -YIv <星座> <字符串>: 为星座自定义解释动词.
 -YIC <宫> <字符串>: 为宫自定义解释.
 -YIA <相位> <字符串>: 为相位自定义解释.
 -YIA0 <相位> <字符串>: 自定义相位解释语句.
 -YkC <火> <地> <风> <水>: 自定义元素颜色.
 -YkA <相位1> <相位2> <颜色1>..<颜色2>: 自定义相位颜色.
 -Yk0 <1..7> <1..7> <颜色1>..<颜色2>: 自定义 ‘彩虹’ 颜色.
 -Yk <0..8> <0..8> <颜色1>..<颜色2>: 自定义 ‘一般’ 颜色.
 -YXG <0-2><0-2><0-2><0-3>: 为摩羯座,天王星,冥王星,和莉莉丝选择不同的星座符号.
 -YXg <单元格数>: 为图形相位表格设置单元格数.
 -YXf <值>: 设置在图形文件中使用实际的系统字体.
 -YXp <-1,0,1>: 为 PostScript 文件设置纸张方向.
 -YXp0 <横向> <纵向>: 为 PostScript 文件设置纸张大小.
 -YX <高分辨> <低分辨>: 设置模式为使用 PC 屏幕图形.
 -0[o,i,q,X]: 不允许文件输出输入, 退出程序和图形操作.
 -;: 忽略剩余的命令行并将其视为注释行.
Astrolog 图形屏幕按键选项 (版本 5.40):
 按 ‘H’ 或 ‘?’ 显示此按键选项列表.
 按 ‘p’ 切换暂停状态的开或关.
 按 ‘x’ 切换屏幕上前景/背景色.
 按 ‘m’ 切换屏幕彩色/单色显示.
 按 ‘i’ 切换小星盘的修改状态.
 按 ‘t’ 切换当前星盘的头部信息.
 按 ‘b’ 切换星盘边界绘制.
 按 ‘l’ 切换星盘中的对象点标注.
 按 ‘j’ 切换不清除星盘更新之间的屏幕.
 按 ‘v’ 在文本屏幕上显示当前星盘位置.
 按 ‘R’, ‘C’, ‘u’, ‘U’ 切换小行星对象,小行星宫头,虚星,和恒星的限制状态.
 按 ‘c’ 切换关系比较星图模式.
 按 ‘s’, ‘h’, ‘f’, ‘g’, ‘z’, ‘y’ 切换恒星黄道带,日心制星盘, domal 星盘, decan 星盘,吠陀格式轮状星盘, 和那凡沙星盘.
 按 ‘O’ 和 ‘o’ 来从内存恢复/保存先前的星盘.
 按 ‘B’ 卸出当前窗口内容到根背景.
 按 ‘B’ 来调整星盘显示到全屏幕状态.
 按 ‘Q’ 来调整星盘显示为矩形.
 按 ‘<‘ 和 ‘>’ 来减少/增加符号和世界地图比例大小.
 按 ‘[‘ 和 ‘]’ 来减少/增加地球显示的倾斜度.
 按 ‘+’ 和 ‘-‘ 来从当前星盘中加/减一天.
 按 ‘n’ 来设置星盘信息到当前日期时间.
 按 ‘N’ 切换动画状态开或关. 星盘将
      更新到当前状态且地球将旋转.
 按 ‘!’-‘(‘ 开始增加时间来.!: 秒, @: 分, #: 小时, $: 天, %: 月,^: 年, &: 年*10, *: 年*100, (: 年*1000.
 按 ‘r’ 反向延时或动画方向.
 按 ‘1’-‘9’ 将动画的速度设置为“n”度等.
 按 ‘1’-‘9’ 确定星盘的一段,以显示是否修剪。
 按 ‘V’,’A’,’Z’,’S’,’M’,’K’,’J’,’L’,’E’,’W’,’G’,’P’ 来切换至 常规 (-v), 表格 (-g), 本地 (-Z), 空间 (-S), 扇区 (-l),
      日历 (-K), 定位星 (-j), 天文图 (-L), 星历表(-E), 世界地图 (-XW), 地球 (-XG), 和极坐标(-XP)模式.
 按 ‘Y’ 来切换至生物节律相关的图表模式.
 按 ‘0’ 在 -Z,-Z0 & -XW,-XW0 & -E,-Ey 模式之间切换.
 按 ‘F’ 在世界地图和星座地图间切换.
 按 ‘F1’..’F12′ [加 Shift,Ctrl,Alt] 来运行宏 1..48.
 按 ‘空格’ 来强制重绘当前图形显示.
 按 ‘del’ 来清除图形屏幕且不重绘屏幕.
 按 ‘tab’ 在不同的图形分辨率之间切换.
 按 ‘回车’ 来输入一个一般的命令行开关.
 按 ‘q’ 终止图形和程序.
 左鼠标键: 在星盘窗口中画线.
 中鼠标键: 显示世界地图上指针的坐标.
 右鼠标键: 结束窗口和程序.
解释文件的说明.
_________________________________________________________
解释是使用四种类型的文件:行星,行星,宫和恒星的相位。所有这些文件都有类似的结构。文件以“0900”开头,标志着“解释文件”。 
所有文件中的记录都标记为 &xx xx,其中 xx xx 是记录的记录号(例如,&03 12,&11 01)。
在不同的文件中,这些数字有不同的意义。解读文本从下一行开始。如果各自的文本部分发生错误,astrolog 不提示任何错误信息,只是不显示此解释部分。任何(或所有)文件发生错误均具有相同的结果。
注意,此处所说的的行星意味着 astrolog 中的任何物体(除恒星和阿拉伯点,恒星有他自己的解释文件)。意思是所有的小行星,宫头,虚星和那些可以有自己的自己的解释文件的“行星”。
记录文件可以以任何顺序排列,但我建议最好使用“正常”的顺序。它有助于添加新记录。让 Astrolog 按照描述符(&xx yy)找到记录并显示解释。
行星文件.
————-
所有行星文件具有 plxx.dat 的名字, 其中 xx 是行星编号. 例如,
pl01.dat 是太阳的解释数据文件, pl16.dat 是北交点的数据文件.
这些文件中的记录:
&00 00
这里是行星的描述 – 它的一般的意义等.
&xx yy
其中 xx = 01 或 xx = 02
具有描述行星符号的意义 (xx = 1 , yy = 星座编号, 白羊座 = 1) 或所在的宫 (xx = 2 , yy = 宫的编号)
例如:
&01 05
狮子座中的行星的解释.
&02 06
第六宫中的行星的解释.
相位文件.
————-
相位文件的名字是 plxxa.dat, 其中 xx 是行星编号. 例如, 
pl16a.dat 北交点相位的解释. 记录:
&yy zz
yy 是相位中的另一个行星. 为了减少数据文件体积, yy 大于 plxxa.dat 中的第一个行星编号 xx. 
换名话说, 太阳和土星间的相位仅在太阳文件 pl01a.dat 中描述. 在土星相位文件
pl07a.dat 中仅描述土星和数字大于7的行星间的相位.
zz 是 Astrolog 中使用的相位编号: (参见 Astrolog 的帮助文件)
1 – 合
2 – 冲
3 – 刑
4 – 拱
5 – 六分
等等. 如果需要, 你可以在这里描述 Astrolog 支持的全部 18 种相位:)
宫文件.
————
宫文件的名字是从 house1.dat 到 house12.dat. 这里有四种类型的记录:
&00 00
象行星文件一样, 这里是宫的一般描述.
&01 xx
其中 xx 是星座编号. 这里是星座 xx 中的宫头的意思. 
例如:
文件 house5.dat, 记录
&01 03
是 Geminy 中的第五宫头的解释.
&02 xx
其中 xx 是星座编号. 意思是星座 xx 中的当前宫的定位星的位置.
&03 xx
其中 xx 是宫编号. 这里的意思是 xx 宫中的的当前宫的定位星的位置.
特殊记录:
&00 01
在使用的情况下, 如果和自然定位星在同一星座或宫.
则下一个解释使用此记录. 
在我自己的文件中,这个记录看起来像:
&00 01
见上.
恒星文件.
———-
所有恒星均在一个文件 stars.dat 中描述. 解释是独立的宫中的恒星的位置. 这里只有一种记录:
&00 xx
其中 xx 行星按通常顺序的编号.
我重复一遍, 任何记录或文件会发生错误而没有任何错误提示. 
在这种情况下只显示额外的信息而没有解释内容.
示例文件只有记录标记. 在有些文件中 (house1.dat, pl01.dat,pl01a.dat) 有一些文本部分. 
增加了也是三个我自己的文件 (更名为 *.ddd). 这些文件是爱沙尼亚语, 但你可以看到这里的真实文件结构. 记录可以在任何顺序.
解释行运替代数据文件.
——————————————————
解释行运数据文件类似于本命盘的解释文件. 有两种类型的文件: 行星和相位.
行星文件.
————-
所有的行星都是 plxxt.dat 这样的文件名,其中 xx 是行星编号。例如,pl01t.dat 是太阳行运解释数据文件,
pl16t.dat 是北交点行运文件。这些文件中的记录:
&00 00
这里是行运行星一般描述.
&01 yy
本命宫中的行运行星的描述,
其中 yy 是宫的编号。
例如:
&01 05
第五宫中的行运行星的解释.
相位文件.
————-
相位文件的名字是 plxxta.dat, 其中 xx 是行星编号而且是类似于本命相位文件. 
例如, pl16a.dat 是北交点行运相位的解释文件. 
记录:
&yy zz
yy 是相位中的本命行星. 与本命相位文件不同,
它们可以拥有所的 yy zz 可能的组合, 因为行运的太阳和本命的土星比起行运的土星和本命的太阳有另一种意思, 
任何行星也可以有一些行运相位及其本命位置.

golang 在一个协程内部,再创建一个或多个协程,是否会产生依赖(父子)关系?

做了一个小实验,这里随笔记录一下经过,备注后续深入研究。

test代码:


package main

import (
    "fmt"
    "time"
)

func main() {
    go func() {
        fmt.Println("father alive")

        go func() {
            time.Sleep(time.Second * 2)
            fmt.Println("child alive")
        }()
        defer fmt.Println("father dead")
        return
    }()
    time.Sleep(time.Second * 3)
}

 

 

运行结果:

可以得出结论:不同于linux里的进程依赖,golang里,协程都是互相独立的,没有依赖(父子)关系。main函数本身也运行在一个goroutine中,main是所有协程的被依赖者,这里是个特例。

golang test说明解读

go test是go语言自带的测试工具,其中包含的是两类,单元测试和性能测试

通过go help test可以看到go test的使用说明:

格式形如:

go test [-c] [-i] [build flags] [packages] [flags for test binary]

参数解读:

-c : 编译go test成为可执行的二进制文件,但是不运行测试。

-i : 安装测试包依赖的package,但是不运行测试。

关于build flags,调用go help build,这些是编译运行过程中需要使用到的参数,一般设置为空

关于packages,调用go help packages,这些是关于包的管理,一般设置为空

关于flags for test binary,调用go help testflag,这些是go test过程中经常使用到的参数

-test.v : 是否输出全部的单元测试用例(不管成功或者失败),默认没有加上,所以只输出失败的单元测试用例。

-test.run pattern: 只跑哪些单元测试用例

-test.bench patten: 只跑那些性能测试用例

-test.benchmem : 是否在性能测试的时候输出内存情况

-test.benchtime t : 性能测试运行的时间,默认是1s

-test.cpuprofile cpu.out : 是否输出cpu性能分析文件

-test.memprofile mem.out : 是否输出内存性能分析文件

-test.blockprofile block.out : 是否输出内部goroutine阻塞的性能分析文件

-test.memprofilerate n : 内存性能分析的时候有一个分配了多少的时候才打点记录的问题。这个参数就是设置打点的内存分配间隔,也就是profile中一个sample代表的内存大小。默认是设置为512 * 1024的。如果你将它设置为1,则每分配一个内存块就会在profile中有个打点,那么生成的profile的sample就会非常多。如果你设置为0,那就是不做打点了。

你可以通过设置memprofilerate=1和GOGC=off来关闭内存回收,并且对每个内存块的分配进行观察。

-test.blockprofilerate n: 基本同上,控制的是goroutine阻塞时候打点的纳秒数。默认不设置就相当于-test.blockprofilerate=1,每一纳秒都打点记录一下

-test.parallel n : 性能测试的程序并行cpu数,默认等于GOMAXPROCS。

-test.timeout t : 如果测试用例运行时间超过t,则抛出panic

-test.cpu 1,2,4 : 程序运行在哪些CPU上面,使用二进制的1所在位代表,和nginx的nginx_worker_cpu_affinity是一个道理

-test.short : 将那些运行时间较长的测试用例运行时间缩短

Golang实现MySQL不定字段,动态字段查询

package main

import (
“database/sql”
“fmt”
_ “github.com/go-sql-driver/mysql”
)

func main() {
//连接数据库
db, err := sql.Open(“mysql”, “root:@tcp(localhost:3306)/go?charset=utf8”)
if err != nil {
fmt.Println(“连接数据库失败”, err.Error())
return
}
defer db.Close()

//查询数据库
query, err := db.Query(“select * from go_user”)
if err != nil {
fmt.Println(“查询数据库失败”, err.Error())
return
}
defer query.Close()

//读出查询出的列字段名
cols, _ := query.Columns()
//values是每个列的值,这里获取到byte里
values := make([][]byte, len(cols))
//query.Scan的参数,因为每次查询出来的列是不定长的,用len(cols)定住当次查询的长度
scans := make([]interface{}, len(cols))
//让每一行数据都填充到[][]byte里面
for i := range values {
scans[i] = &values[i]
}

//最后得到的map
results := make(map[int]map[string]string)
i := 0
for query.Next() { //循环,让游标往下推
if err := query.Scan(scans…); err != nil { //query.Scan查询出来的不定长值放到scans[i] = &values[i],也就是每行都放在values里
fmt.Println(err)
return
}

row := make(map[string]string) //每行数据

for k, v := range values { //每行数据是放在values里面,现在把它挪到row里
key := cols[k]
row[key] = string(v)
}
results[i] = row //装入结果集中
i++
}

//查询出来的数组
for k, v := range results {
fmt.Println(k, v)
}

db.Close() //用完关闭
}

es-sql – 版本5.6.3 – date_format 查询时间格式化使用说明

date_format 在es-sql对应解析成java的SimpleDateFormat 方法
参考ES_sql的代码
private static Tuple<String, String> date_format(String strColumn, String pattern, String zoneId, String valueName) { String name = “date_format_” + random(); if (valueName == null) { return new Tuple<>(name, “def ” + name + ” = DateTimeFormatter.ofPattern(‘” + pattern + “‘).withZone(” + (zoneId != null ? “ZoneId.of(‘” + zoneId + “‘)” : “ZoneId.systemDefault()”) + “).format(Instant.ofEpochMilli(doc[‘” + strColumn + “‘].value.getMillis()))”); } else { return new Tuple<>(name, strColumn + “; def ” + name + ” = new SimpleDateFormat(‘” + pattern + “‘).format(new Date(” + valueName + ” – 8*1000*60*60))”); } }
网上copy的SimpleDateFormat资料:
import java.text.SimpleDateFormat; import java.util.Date; public class test{ public static void main(String args[]) { Date newTime = new Date(); //设置时间格式 SimpleDateFormat sdf1 = new SimpleDateFormat(“y-M-d h:m:s a E”); SimpleDateFormat sdf2 = new SimpleDateFormat(“yy-MM-dd hh:mm:ss a E”); SimpleDateFormat sdf3 = new SimpleDateFormat(“yyyy-MMM-ddd hhh:mmm:sss a E”); SimpleDateFormat sdf4 = new SimpleDateFormat(“yyyyy-MMMM-dddd hhhh:mmmm:ssss a EEEE”); //获取的时间,是本机的时间 String formatDate1 = sdf1.format(newTime); String formatDate2 = sdf2.format(newTime); String formatDate3 = sdf3.format(newTime); String formatDate4 = sdf4.format(newTime); System.out.println(formatDate1); System.out.println(formatDate2); System.out.println(formatDate3); System.out.println(formatDate4); } }
运行结果:
字符串”yyyy-MM-dd hh:mm:ss”,其中:
yyyy : 代表年(不去区分大小写) 假设年份为 2017
    “y” , “yyy” , “yyyy” 匹配的都是4位完整的年 如 : “2017”
    “yy” 匹配的是年分的后两位 如 : “15”
    超过4位,会在年份前面加”0″补位 如 “YYYYY”对应”02017”
MM : 代表月(只能使用大写) 假设月份为 9
    “M” 对应 “9”
    “MM” 对应 “09”
    “MMM” 对应 “Sep”
    “MMMM” 对应 “Sep”
    超出3位,仍然对应 “September”
dd : 代表日(只能使用小写) 假设为13号
    “d” , “dd” 都对应 “13”
    超出2位,会在数字前面加”0″补位. 例如 “dddd” 对应 “0013”
hh : 代表时(区分大小写,大写为24进制计时,小写为12进制计时) 假设为15时
    “H” , “HH” 都对应 “15” , 超出2位,会在数字前面加”0″补位. 例如 “HHHH” 对应 “0015”
    “h” 对应 “3”
    “hh” 对应 “03” , 超出2位,会在数字前面加”0″补位. 例如 “hhhh” 对应 “0003”
mm : 代表分(只能使用小写) 假设为32分
    “m” , “mm” 都对应 “32” ,  超出2位,会在数字前面加”0″补位. 例如 “mmmm” 对应 “0032”
ss : 代表秒(只能使用小写) 假设为15秒
    “s” , “ss” 都对应 “15” , 超出2位,会在数字前面加”0″补位. 例如 “ssss” 对应 “0015”
E : 代表星期(只能使用大写) 假设为 Sunday
    “E” , “EE” , “EEE” 都对应 “Sun”
    “EEEE” 对应 “Sunday” , 超出4位 , 仍然对应 “Sunday”
a : 代表上午还是下午,如果是上午就对应 “AM” , 如果是下午就对应 “PM”
其中的分隔符”-“可以替换成其他非字母的任意字符(也可以是汉字),例如:
运行结果为:

【转载】Git 常用命令 – 撤销修改和版本回退

撤销修改

撤销修改是指将工作区中的修改撤销。

语法:git checkout 文件名或路径

# 撤销工作区中当前目录中的所有更改
git checkout .

# 撤销工作区中指定文件的修改
git checkout — filename
git checkout 命令只能撤销工作区中的修改,而不能撤销暂存区中的修改。

git checkout 命令还有一个非常重要的功能就是切换分支。可用于分支管理。

# 切换到指定的分支(如果分支在本地不存在,会自动从远程仓库拉取下来)
git checkout develop

# 切换分支的同时,创建分支
git checkout -b my-dev
这里,只是简单说一下 git checkout 如何切换分支,等你需要用到分支管理的时候,自然就明白了。

版本回退

版本回退是指将版本库从当前版本回退到其他的版本。

语法:git reset –hard 版本号

有时,我们需要将 Git 版本库回退(还原)到以前的某个版本,可以使用 git reset 命令。

在 Git 中,HEAD 指针指向的是当前版本,也就是最新的 commit id,上一个版本是 HEAD^,上上一个版本就是 HEAD^^,上50个版本可以写成 HEAD~50。

可以使用下面的命令,将 Git 回退到上一个版本:

git reset –hard HEAD^
这时,我们再来使用 git log 命令查看版本库被修改的日志。却发现,看不到被回退的版本之后的历史记录了。如果,想再回到最新的版本,怎么办?

只要刚刚的命令行窗口没有关掉,你就可以顺着往上面找,直到发现最新的版本号(如4b2a0c88a2d03675694013ac6a2bd6f55c830cdc),于是,就可以使用下面的命令还原到指定的版本:

git reset –hard 4b2a0c8
版本号(commit id)没必要写全,一般写前七位就够了,Git会自动去匹配。

但是,假如你回退到了某个版本后,把电脑关了。第二天又后悔了,想要恢复到最新版本。

这时,可以使用命令 git reflog 来查看你的每一次操作日志,该命令可以输出对应的版本号的操作记录。这样,我们就可以恢复到任意版本了。

git reset 的选项

git reset 有很多可用的选项。可以通过帮助命令来查看。

git reset -h
其中,最常用的三个选项是:

–mixed: reset HEAD and index。表示重置 HEAD 指针和 index 暂存区,但保持工作区不变。它是默认选项。
–soft: reset only HEAD。表示仅仅重置 HEAD 指针,即只改变 HEAD 的指向,但保持工作区和暂存区不变。
–hard: reset HEAD, index and working tree。表示重置 HEAD 指针、index 暂存区和工作区。这个才是完整的版本回退。
查看版本库的状态

git status
git status 命令非常有用。它可以查看版本库的当前状态,还可以看到相关操作的提示信息。

查看修改

如果你修改了工作区中的某些文件,想要查看具体更改了什么内容,可以使用 git diff 命令。

git diff .

git diff filename
查看工作区和版本库的区别

如果你只是修改了工作区,还没有 git add 到暂存区,想要查看工作区和版本库的区别。

# 查看工作区和版本库的区别
git diff
上述命令只能查看到工作区中已经存在的文件的修改,如果是新创建的文件,它追踪不到。如果修改和新文件已经 git add 到了暂存区,就需要使用下面的命令来查看。

查看暂存区和版本库的区别

如果你修改了工作区,已经 git add 到了暂存区,想要查看暂存区和版本库的区别。

git diff –cached
查看两个版本之间的区别

如果你修改了工作区,已经 git add 到了暂存区,并且 git commit 到了版本库。这样 head 指针就指向了最新的版本。想要比较两个版本之间的区别。

语法: git diff 版本号1 版本号2

# 比较两个版本之间的差异
git diff 4129523 0a7d9af
在这个例子中,412952 是上一个版本的版本号,0a7d9af 是当前的版本号(最新版本号)。只取前 7 位就够了。

# 比较之前的版本和当前版本的差异
git diff 4129523 head

# 比较某个文件在两个版本之间的差异
git diff 09d9b45 head ./config/app.php

# 比较之前的版本和当前版本的差异的简写形式
git diff 4129523
查看本地的两个分支的区别

语法格式为:git diff branch1 branch2

# 比较 develop 分支和 master 分支的区别
git diff develop master
查看本地分支和远程分支的区别

# 对比本地的 develop 分支和远程的 master 分支的区别
git diff develop origin/master
查看版本库的历史记录

如果你想查看版本库提交的历史记录 ,可以使用 git log 命令。

# 查看版本库的历史记录
git log

# 查看版本库的历史记录,美化输出
git log –pretty=oneline

# 查看版本库的历史记录,只显示前 5 条
git log -5

git log -5 –pretty=oneline
git log 命令默认会进入日志查看模式,可按 q 退出查看模式。

git log 命令会显示从最近到最远的提交日志,每一行的前面的一大串字符就是 commit id(版本号),它和 SVN 的版本号不一样,Git 的版本号不是递增的数字,而是一个 SHA1 加密计算出来的一个非常大的数字,用十六进制表示。

场景分析

场景一

假如你只是修改了工作区,还没有 git add 到暂存区。可以使用下面的命令撤销工作区中的修改。

# 仅仅是撤销工作区中的修改
git checkout .
场景二

假如你修改了工作区,并把工作区中的修改 git add 到了暂存区。

如果你想撤销工作区和暂存区中的修改。

git reset –hard head
# 简写为
git reset –hard
如果你仅仅只是想要撤销暂存区中的修改。

git reset –mixed
# 简写为
git reset
场景三

假如你修改了工作区,并把工作区中的修改 git add 到了暂存区,然后又 git commit 提交到了版本库。

如果你想回退到上一个版本,可以使用下面的命令。

git reset –hard head^
查看当前的版本号,可以使用。

git rev-parse HEAD
需要注意的是,在 Windows 的 CMD 中, ^ 代表换行,即命令没输完,在下一行继续输命令。它相当于 Linux 中的 \ 。

因此,在 CMD 中回退到上一个版本的写法,就略有不同。

具体的解决方法有:

git reset –hard “head^”
git reset –hard HEAD^^
git reset –hard HEAD~
git reset –hard HEAD~1
改用 PowerShell 或 Git Bash 终端
还有一个需要注意的问题是,通常我们所说的版本回退是指完整的版本回退。

如果你回退版本时,采用的是 『 git reset –mixed 版本号 』,–mixed 其实本来就是默认选项。那么,你只是更改了 head 的指向和回退了暂存区,而并没有回退工作区。如果想要继续把工作区也回退,你还需执行下面的命令

git checkout .
这样,才算完整的版本回退。

完整的版本回退,包含三个要素:

更改 HEAD 指针的指向(即让 HEAD 指向目标版本)
回退工作区(即工作区中的内容也要回退到目标版本)
回退暂存区(即暂存区中的内容也要回退到目标版本)
为此,推荐使用 git reset –hard 来完成版本回退。

Mac 键盘快捷键

您可以按下某些组合键来实现通常需要鼠标、触控板或其他输入设备才能完成的操作。

要使用键盘快捷键,请按住一个或多个修饰键,然后按快捷键的最后一个键。例如,要使用 Command-C(拷贝),请按住 Command 键并按 C 键,然后同时松开这两个键。Mac 菜单和键盘通常对某些按键使用符号,其中包括以下修饰键:

  • Command(或 Cmd)⌘
  • Shift ⇧
  • Option(或 Alt)⌥
  • Control(或 Ctrl)⌃
  • Caps Lock ⇪
  • Fn
在 Windows PC 专用键盘上,请用 Alt 键代替 Option 键,用 Windows 标志键代替 Command 键。

Apple 键盘上的某些按键具有特殊符号和功能,例如显示屏亮度 、键盘亮度 、调度中心等。如果您的键盘上没有这些功能,您也许可以通过创建自己的键盘快捷键来实现其中的一些功能。要将这些键用作 F1、F2、F3 或其他标准功能键,请将它们与 Fn 键组合使用。

剪切、拷贝、粘贴和其他常用快捷键

  • Command-X:剪切所选项并拷贝到剪贴板。
  • Command-C:将所选项拷贝到剪贴板。这同样适用于“访达”中的文件。
  • Command-V:将剪贴板的内容粘贴到当前文稿或应用中。这同样适用于“访达”中的文件。
  • Command-Z:撤销上一个命令。随后您可以按 Shift-Command-Z 来重做,从而反向执行撤销命令。在某些应用中,您可以撤销和重做多个命令。
  • Command-A:全选各项。
  • Command-F:查找文稿中的项目或打开“查找”窗口。
  • Command-G:再次查找:查找之前所找到项目出现的下一个位置。要查找出现的上一个位置,请按 Shift-Command-G。
  • Command-H:隐藏最前面的应用的窗口。要查看最前面的应用但隐藏所有其他应用,请按 Option-Command-H。
  • Command-M:将最前面的窗口最小化至“程序坞”。要最小化最前面的应用的所有窗口,请按 Option-Command-M。
  • Command-O:打开所选项,或打开一个对话框以选择要打开的文件。
  • Command-P:打印当前文稿。
  • Command-S:存储当前文稿。
  • Command-T:打开新标签页。
  • Command-W:关闭最前面的窗口。要关闭应用的所有窗口,请按下 Option-Command-W。
  • Option-Command-Esc:强制退出应用。
  • Command–空格键:显示或隐藏“聚焦”搜索栏。要从“访达”窗口执行“聚焦”搜索,请按 Command–Option–空格键。(如果您使用多个输入源以便用不同的语言键入内容,这些快捷键会更改输入源而非显示“聚焦”。了解如何更改冲突的键盘快捷键。)
  • Control-Command–空格键:显示字符检视器,您可以从中选择表情符号和其他符号。
  • Control-Command-F:全屏使用应用(如果应用支持)。
  • 空格键:使用快速查看来预览所选项。
  • Command-Tab:在打开的应用中切换到下一个最近使用的应用。
  • Shift-Command-5:在 macOS Mojave 中,拍摄屏幕快照或录制屏幕。在更早的 macOS 版本中,请使用 Shift-Command-3 或 Shift-Command-4 来拍摄屏幕快照。进一步了解屏幕快照。
  • Shift-Command-N:在“访达”中创建一个新文件夹。
  • Command-逗号 (,):打开最前面的应用的偏好设置。

睡眠、退出登录和关机快捷键

在这些快捷键中,您可能需要按住其中一些快捷键稍长时间。这样可以避免您无意中启用快捷键。

  • 电源按钮:按下可将 Mac 开机或将 Mac 从睡眠状态唤醒。按住这个按钮 1.5 秒可使 Mac 进入睡眠状态。*继续按住则会强制您的 Mac 关机。
  • Option–Command–电源按钮*或 Option–Command–Media Eject(Option–Command–介质推出键):将您的 Mac 置于睡眠状态。
  • Control–Shift–电源按钮*或 Control–Shift–Media Eject(Control–Shift–介质推出键):将显示器置于睡眠状态。
  • Control–电源按钮*或 Control–Media Eject(Control–介质推出键):显示一个对话框,询问您是要重新启动、睡眠还是关机。
  • Control–Command–Power 电源按钮:*强制 Mac 重新启动,系统不会提示是否要存储任何打开且未存储的文稿。
  • Control–Command–Media Eject(Control–Command–介质推出键):退出所有应用,然后重新启动您的 Mac。如果任何打开的文稿有未存储的更改,系统会询问您是否要存储这些更改。
  • Control–Option-Command–电源按钮*或 Control–Option–Command–Media Eject(Control–Option–Command–介质推出键):退出所有应用,然后将您的 Mac 关机。如果任何打开的文稿有未存储的更改,系统会询问您是否要存储这些更改。
  • Shift–Command–Q:退出登录您的 macOS 用户帐户。系统将提示您确认。要在不确认的情况下立即退出登录,请按下 Option-Shift-Command-Q。

* 不适用于触控 ID 传感器。

访达和系统快捷键

  • Command-D:复制所选文件。
  • Command-E:推出所选磁盘或宗卷。
  • Command-F:在“访达”窗口中开始“聚焦”搜索。
  • Command-I:显示所选文件的“显示简介”窗口。
  • Command-R:(1) 如果在“访达”中选择了某个别名:显示所选别名对应的原始文件。(2) 在某些应用(如“日历”或 Safari 浏览器)中,刷新或重新载入页面。(3) 在“软件更新”偏好设置中,再次检查有没有软件更新。
  • Shift-Command-C:打开“电脑”窗口。
  • Shift-Command-D:打开“桌面”文件夹。
  • Shift-Command-F:打开“最近使用”窗口,其中显示了您最近查看或更改过的所有文件。
  • Shift-Command-G:打开“前往文件夹”窗口。
  • Shift-Command-H:打开当前 macOS 用户帐户的个人文件夹。
  • Shift-Command-I:打开 iCloud 云盘。
  • Shift-Command-K:打开“网络”窗口。
  • Option-Command-L:打开“下载”文件夹。
  • Shift-Command-N:新建文件夹。
  • Shift-Command-O:打开“文稿”文件夹。
  • Shift-Command-P:在“访达”窗口中显示或隐藏预览面板。
  • Shift-Command-R:打开“隔空投送”窗口。
  • Shift-Command-T:显示或隐藏“访达”窗口中的标签页栏。
  • Ctrl-Shift-Command-T:将所选的“访达”项目添加到“程序坞”(OS X Mavericks 或更高版本)
  • Shift-Command-U:打开“实用工具”文件夹。
  • Option-Command-D:显示或隐藏“程序坞”。
  • Control-Command-T:将所选项添加到边栏(OS X Mavericks 或更高版本)。
  • Option-Command-P:隐藏或显示“访达”窗口中的路径栏。
  • Option-Command-S:隐藏或显示“访达”窗口中的边栏。
  • Command–斜线 (/):隐藏或显示“访达”窗口中的状态栏。
  • Command-J:显示“显示”选项。
  • Command-K:打开“连接服务器”窗口。
  • Command-L:为所选项制作替身。
  • Command-N:打开一个新的“访达”窗口。
  • Command-N:新建智能文件夹。
  • Command-T:在当前“访达”窗口中有单个标签页开着的状态下显示或隐藏标签页栏。
  • Option-Command-T:在当前“访达”窗口中有单个标签页开着的状态下显示或隐藏工具栏。
  • Option-Command-V:移动:将剪贴板中的文件从原始位置移动到当前位置。
  • Command-Y:使用“快速查看”预览所选文件。
  • Option-Command-Y:显示所选文件的快速查看幻灯片显示。
  • Command-1:以图标方式显示“访达”窗口中的项目。
  • Command-2:以列表方式显示“访达”窗口中的项目。
  • Command-3:以分栏方式显示“访达”窗口中的项目。
  • Command-4:以封面流方式显示“访达”窗口中的项目。
  • Command–左中括号 ([):前往上一文件夹。
  • Command–右中括号 (]):前往下一个文件夹。
  • Command–上箭头:打开包含当前文件夹的文件夹。
  • Command–Control–上箭头:在新窗口中打开包含当前文件夹的文件夹。
  • Command–下箭头:打开所选项。
  • 右箭头:打开所选文件夹。这个快捷键仅在列表视图中有效。
  • 左箭头:关闭所选文件夹。这个快捷键仅在列表视图中有效。
  • Command-Delete:将所选项移到废纸篓。
  • Shift-Command-Delete:清倒废纸篓。
  • Option-Shift-Command-Delete:清倒废纸篓而不显示确认对话框。
  • Command–调高亮度:打开或关闭目标显示器模式。
  • Command–调低亮度:当您的 Mac 连接到多台显示器时,打开或关闭视频镜像。
  • Option–调高亮度:打开“显示器”偏好设置。这个快捷键可与任一亮度键搭配使用。
  • Control–调高亮度Control–调低亮度:更改外部显示器的亮度(如果显示器支持)。
  • Option-Shift–调高亮度 Option-Shift–调低亮度:以较小的步幅调节显示器亮度。如果您的显示器支持,可以将 Control 键添加到此快捷键,以便在外置显示器上进行调节。
  • Option–“调度中心”:打开“调度中心”偏好设置。
  • Command–“调度中心”:显示桌面。
  • Control–下箭头:显示最前面的应用的所有窗口。
  • Option–调高音量:打开“声音”偏好设置。这个快捷键可与任一音量键搭配使用。
  • Option-Shift–调高音量Option-Shift–调低音量:以较小的步幅调节音量。
  • Option–键盘调高亮度:打开“键盘”偏好设置。这个快捷键可与任一键盘亮度键搭配使用。
  • Option-Shift–键盘调高亮度Option-Shift–键盘调低亮度:以较小的步幅调节键盘亮度。
  • 连按 Option 键:在单独的窗口中打开项目,然后关闭原始窗口。
  • 连按 Command 键:在单独的标签页或窗口中打开文件夹。
  • 按住 Command 键拖移到另一个宗卷:将拖移的项目移到另一个宗卷,而不是拷贝它。
  • 按住 Option 键拖移:拷贝托移的项目。拖移项目时指针会随之变化。
  • 按住 Option-Command 键拖移:为拖移的项目制作替身。拖移项目时指针会随之变化。
  • 按住 Option 键点按开合三角:打开所选文件夹内的所有文件夹。这个快捷键仅在列表视图中有效。
  • 按住 Command 键点按窗口标题:查看包含当前文件夹的文件夹。
  • 了解如何使用 Command 或 Shift 在“访达”中选择多个项目。
  • 点按“访达”菜单栏中的“前往”菜单查看用于打开许多常用文件夹(如“应用程序”、“文稿”、“下载”、“实用工具”和“iCloud 云盘”)的快捷键。

文稿快捷键

这些快捷键的行为可能因您使用的应用而异。

  • Command-B:以粗体显示所选文本,或者打开或关闭粗体显示功能。
  • Command-I:以斜体显示所选文本,或者打开或关闭斜体显示功能。
  • Command-K:添加网页链接。
  • Command-U:对所选文本加下划线,或者打开或关闭加下划线功能。
  • Command-T:显示或隐藏“字体”窗口。
  • Command-D:从“打开”对话框或“存储”对话框内选择“桌面”文件夹。
  • Control-Command-D:显示或隐藏所选字词的定义。
  • Shift-Command–冒号 (:):显示“拼写和语法”窗口。
  • Command–分号 (;):查找文稿中拼写错误的字词。
  • Option-Delete:删除插入点左边的字词。
  • Control-H:删除插入点左边的字符。也可以使用 Delete 键。
  • Control-D:删除插入点右边的字符。也可以使用 Fn-Delete。
  • Fn-Delete:在没有向前删除   键的键盘上向前删除。也可以使用 Control-D。
  • Control-K:删除插入点与行或段落末尾处之间的文本。
  • Fn–上箭头:Page Up:向上滚动一页。
  • Fn–下箭头:Page Down:向下滚动一页。
  • Fn–左箭头:Home:滚动到文稿开头。
  • Fn–右箭头:End:滚动到文稿末尾。
  • Command–上箭头:将插入点移至文稿开头。
  • Command–下箭头:将插入点移至文稿末尾。
  • Command–左箭头:将插入点移至当前行的行首。
  • Command–右箭头:将插入点移至当前行的行尾。
  • Option–左箭头:将插入点移至上一字词的词首。
  • Option–右箭头:将插入点移至下一字词的词尾。
  • Shift-Command–上箭头:选中插入点与文稿开头之间的文本。
  • Shift-Command–下箭头:选中插入点与文稿末尾之间的文本。
  • Shift-Command–左箭头:选中插入点与当前行行首之间的文本。
  • Shift-Command–右箭头:选中插入点与当前行行尾之间的文本。
  • Shift–上箭头:将文本选择范围扩展到上一行相同水平位置的最近字符处。
  • Shift–下箭头:将文本选择范围扩展到下一行相同水平位置的最近字符处。
  • Shift–左箭头:将文本选择范围向左扩展一个字符。
  • Shift–右箭头:将文本选择范围向右扩展一个字符。
  • Option–Shift–上箭头:将文本选择范围扩展到当前段落的段首,再按一次则扩展到下一段落的段首。
  • Option–Shift–下箭头:将文本选择范围扩展到当前段落的段尾,再按一次则扩展到下一段落的段尾。
  • Option–Shift–左箭头:将文本选择范围扩展到当前字词的词首,再按一次则扩展到后一字词的词首。
  • Option–Shift–左箭头:将文本选择范围扩展到当前字词的词尾,再按一次则扩展到后一字词的词尾。
  • Control–A:移至行或段落的开头。
  • Control–E:移至行或段落的末尾。
  • Control–F:向前移动一个字符。
  • Control–B:向后移动一个字符。
  • Control–L:将光标或所选内容置于可见区域中央。
  • Control–P:上移一行。
  • Control–N:下移一行。
  • Control–O:在插入点后新插入一行。
  • Control–T:将插入点后面的字符与插入点前面的字符交换。
  • Command–左花括号 ({):左对齐。
  • Command–右花括号 (}):右对齐。
  • Shift-Command–竖线 (|):居中对齐。
  • Option-Command-F:前往搜索栏。
  • Option-Command-T:显示或隐藏应用中的工具栏。
  • Option-Command-C:拷贝样式:将所选项的格式设置拷贝到剪贴板。
  • Option-Command-V:粘贴样式:将拷贝的样式应用到所选项。
  • Option-Shift-Command-V:粘贴并匹配样式:将周围内容的样式应用到粘贴在该内容中的项目。
  • Option-Command-I:显示或隐藏检查器窗口。
  • Shift-Command-P:页面设置:显示用于选择文稿设置的窗口。
  • Shift-Command-S:显示“存储为”对话框或复制当前文稿。
  • Shift-Command-减号 (-):缩小所选项。
  • Shift-Command-加号 (+):放大所选项。Command–等号 (=) 可实现相同的功能。
  • Shift-Command–问号 (?):打开“帮助”菜单。

Goland常用快捷键大全

文件相关快捷键:

CTRL+E,打开最近浏览过的文件。
CTRL+SHIFT+E,打开最近更改的文件。
CTRL+N,可以快速打开struct结构体。
CTRL+SHIFT+N,可以快速打开文件。

代码格式化:

CTRL+ALT+T,可以把代码包在一个块内,例如if{…}else{…}。
CTRL+ALT+L,格式化代码。
CTRL+空格,代码提示。
CTRL+/,单行注释。CTRL+SHIFT+/,进行多行注释。
CTRL+B,快速打开光标处的结构体或方法(跳转到定义处)。
CTRL+“+/-”,可以将当前方法进行展开或折叠。

查找和定位

CTRL+R,替换文本。
CTRL+F,查找文本。
CTRL+SHIFT+F,进行全局查找。
CTRL+G,快速定位到某行。

代码编辑

ALT+Q,可以看到当前方法的声明。
CTRL+Backspace,按单词进行删除。
SHIFT+ENTER,可以向下插入新行,即使光标在当前行的中间。
CTRL+X,删除当前光标所在行。
CTRL+D,复制当前光标所在行。
ALT+SHIFT+UP/DOWN,可以将光标所在行的代码上下移动。
CTRL+SHIFT+U,可以将选中内容进行大小写转化。

 

一、Goland快捷键设置

GoLand支持各种编辑器的快捷键映射:File->Settings->Keymap
Go语言开发(十)、GoLand常用快捷键

二、GoLand常用快捷键

1、查询快捷键

CTRL+N 查找类
CTRL+SHIFT+N 查找文件
CTRL+SHIFT+ALT+N 查找类中的方法或变量
CTRL+B 快速打开光标处的类或方法
CTRL+ALT+B 找所有的子类
CTRL+SHIFT+B 找变量的类
CTRL+G 定位行
CTRL+F 在当前窗口查找文本
CTRL+SHIFT+F 在指定窗口查找文本
CTRL+R 在 当前窗口替换文本
CTRL+SHIFT+R 在指定窗口替换文本
ALT+SHIFT+C 查找修改的文件
CTRL+E 最近打开的文件
F3 向下查找关键字出现位置
SHIFT+F3 向上一个关键字出现位置
F4 查找变量来源
CTRL+ALT+F7 选中的字符查找工程出现的地方
CTRL+SHIFT+O 弹出显示查找内容
ALT+F1 查找文件所在目录位置
CTRL+H 显示类结构图
CTRL+Q 显示注释文档
CTRL+SHIFT+I 简短查看源定义
CTRL+SHIFT+P 查看表达式类型(在表达式上或者表达式末尾使用)

2、自动代码

Alt+Enter 导入包,自动修正
CTRL+ALT+L 格式化代码
CTRL+ALT+I 自动缩进
CTRL+ALT+O 优化导入的类和包
ALT+INSERT 生成代码(如GET,SET方法,构造函数等)
CTRL+SHIFT+SPACE 自动补全代码
CTRL+空格 代码提示
CTRL+ALT+SPACE 类名或接口名提示
CTRL+P 方法参数提示
CTRL+J 自动代码
CTRL+ALT+T 把选中的代码放在 TRY{} IF{} ELSE{} 里
SHIFT+F6 重构-重命名
CTRL+I 实现接口
CTRL+SHIFT+Space 智能类型推断式返回(return关键字后使用)
CTRL+ALT+V 自动生成表达式返回值
CTRL+ALT+M 重构表达式为函数(光标在表达式末尾)
CTRL+Space 快速返回实现(return关键字后使用)

3、复制快捷方式

CTRL+D 复制行
CTRL+X 剪切,删除行

4、其他快捷方式

CIRL+U 大小写切换
CTRL+Z 倒退
CTRL+SHIFT+Z 向前
CTRL+ALT+F12 资源管理器打开文件夹
SHIFT+ALT+INSERT 竖编辑模式
Ctrl+/ 将当前行代码注释或取消注释
Ctrl+Shift+/ 在当前光标位置添加/**/或将/*xxxx*/内容取消注释
CTRL+W 选中代码,连续按会有其他效果
ALT+ ←/→ 切换代码视图
CTRL+ALT ←/→ 返回上次编辑的位置
ALT+ ↑/↓ 在方法间快速移动定位
ALT+1 快速打开或隐藏工程面板
CTRL+SHIFT+UP/DOWN 代码向上/下移动。
CTRL+UP/DOWN 光标跳转到第一行或最后一行下
ESC 光标返回编辑框
SHIFT+ESC 光标返回编辑框,关闭无用的窗口
ALT+J 相同单词多选
CTRL+SHIFT+A 工具调用
Ctrl+PageUp/PageDown 光标跳转到第一行或最后一行