当前位置: 首页 > wzjs >正文

淄博桓台网站建设公司优化师是一份怎样的工作

淄博桓台网站建设公司,优化师是一份怎样的工作,app要有网站做基础知识,wordpress添加自定义导航栏55-包的声明 包的介绍 当项目规模持续扩张,在单个超大文件里管理源代码,就如同在杂乱无章的巨大仓库找一件小物品,难度极大。此时,将源代码依 据功能进行分组,不同功能的代码分开管理是个很好的解决办法。每组独立管…

55-包的声明

包的介绍

当项目规模持续扩张,在单个超大文件里管理源代码,就如同在杂乱无章的巨大仓库找一件小物品,难度极大。此时,将源代码依

据功能进行分组,不同功能的代码分开管理是个很好的解决办法。每组独立管理的代码最终会生成一个输出文件。实际使用时,导

入对应的输出文件,就能调用相应功能,或者通过不同功能间的交互、组合,实现更复杂的特性,极大提升项目管理的效率。

在仓颉编程语言里,包堪称编译的最小单元。每个包都能单独输出AST文件、静态库文件、动态库文件等成果。每个包都有专属的

名字空间,在同一个包内,除了函数重载的情况,不允许出现同名的顶层定义或声明。一个包中还能容纳多个源文件。 模块则是若

干包的集合,它是第三方开发者发布的最小单元

一个模块的程序入口位置限定在其根目录下,且顶层最多只能有一个用作程序入口的main 。这个main要么没有参数,要么参数

类型为Array<String> ,返回类型为整数类型或者Unit 类型。

包的声明

在仓颉编程语言中,包声明以关键字 package 开头,后接 root 包至当前包由 . 分隔路径上所有包的包名。包名必须是合法的普通标识符(不含原始标识符)。例如:

package pkg1      // root 包 pkg1
package pkg1.sub1 // root 包 pkg1 的子包 sub1

包声明必须在源文件的非空非注释的首行,且同一个包中的不同源文件的包声明必须保持一致。

// file 1
// Comments are accepted
package test
// declarations...// file 2
let a = 1 // Error, package declaration must appear first in a file
package test
// declarations...

仓颉的包名需反映当前源文件相对于项目源码根目录 src 的路径,并将其中的路径分隔符替换为小数点。例如包的源代码位于 src/directory_0/directory_1 下,root 包名为 pkg 则其源代码中的包声明应为 package pkg.directory_0.directory_1

需要注意的是:

  • 包所在的文件夹名必须与包名一致。
  • 源码根目录默认名为 src
  • 源码根目录下的包可以没有包声明,此时编译器将默认为其指定包名 default

假设源代码目录结构如下:

// The directory structure is as follows:
src
`-- directory_0|-- directory_1|    |-- a.cj|    `-- b.cj`-- c.cj
`-- main.cj

a.cjb.cjc.cjmain.cj 中的包声明可以为:

// a.cj
// in file a.cj, the declared package name must correspond to relative path directory_0/directory_1.package default.directory_0.directory_1
// b.cj
// in file b.cj, the declared package name must correspond to relative path directory_0/directory_1.package default.directory_0.directory_1
// c.cj
// in file c.cj, the declared package name must correspond to relative path directory_0.package default.directory_0
// main.cj
// file main.cj is in the module root directory and may omit package declaration.main() {return 0
}

另外,包声明不能引起命名冲突:子包不能和当前包的顶层声明同名。

以下是一些错误示例:

// a.cj
package a
public class B { // Error, 'B' is conflicted with sub-package 'a.B'public static func f() {}
}// b.cj
package a.B
public func f {}// main.cj
import a.B // ambiguous use of 'a.B'main() {a.B.f()return 0
}
http://www.dtcms.com/wzjs/164978.html

相关文章:

  • 怎么自己的电脑做网站北京seo报价
  • 建设拍卖网站靠谱的拉新平台
  • 专门做调研的网站seo每日工作
  • wordpress 文章 调用seo学院
  • 付费网站搭建360上网安全导航
  • 泸州做网站国际十大市场营销公司
  • 天津企业网站制作公司佛山网络推广公司
  • 什么是网站名称网站推广技巧有哪些
  • 怎么做网站代理seo自动刷外链工具
  • 朝鲜族网站沙参怎么做湖南株洲疫情最新情况
  • 漯河北京网站建设公司杭州seo按天计费
  • 淘宝网站详情页怎么做小程序开发平台官网
  • 公司网站开发怎么做微信公众号小程序怎么做
  • 购物网站设计理念中国市场营销网网站
  • 门户网站源码网站建设的推广渠道
  • 500网站建设seo快速排名网站优化
  • 网站创建要多少钱线下引流推广方法
  • 域名个人备案查询seo优化技术教程
  • 农机公司网站建设网站流量查询服务平台
  • 帮做试卷的网站抖音关键词推广
  • ftp网站目录上海b2b网络推广外包
  • 自己做qq头像网站app推广策划方案
  • 华为云建设网站定制企业网站建设制作
  • 如何做网站 代码如何网络营销自己的产品
  • 吉林电商网站建设费用长春网站快速排名提升
  • windows7做网站搜索关键词
  • 写手机版网站的静态页面seo网站权重
  • 多用户分布式网站开发服务外包公司
  • 网站用视频做背景音乐百度竞价托管哪家好
  • 南通医院网站建设成免费crm软件有哪些优点