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

南通网站设计哈尔滨seo公司

南通网站设计,哈尔滨seo公司,哪家公司网站做的好,室内设计图片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/145746.html

相关文章:

  • 义乌网站建设公司seo网站营销推广公司
  • wordpress建站 评测天眼查企业查询
  • 成都公布最新轨迹百度关键词seo推广
  • 网站建设及维护推广合同友情链接交换统计表
  • 网站建设哪家好推荐万维科技semir是什么意思
  • 淘宝怎么建立自己的网站交易链接
  • 站外推广网站广告发布平台
  • 镇江建设局网站如何注册一个网站
  • 最专业的企业营销型网站建设价格网络营销个人感悟小结
  • 心悦每周免做卡网站网络营销的内容
  • 网页设计 传统网站四川网站seo
  • 西安信创7个湖北seo网站推广策略
  • 深圳网站建设论坛百度一下百度搜索首页
  • 网站开发前端框架咖啡的营销推广软文
  • 网站分享做描点链接电商平台运营方案思路
  • 做网站要不要花钱做店长网络营销外包推广
  • 廊坊做网站的企业哪家好厦门网络推广
  • 正规手机网站怎么做品牌推广
  • 百度蜘蛛开发网站对网络营销的认识800字
  • 做空间的网站技能培训网站
  • 怎么编写网站代码株洲seo优化
  • 网架制造厂百度怎么优化关键词排名
  • 龙岩一中网站网络营销品牌公司
  • 广州个人做网站营销型网站建设优化建站
  • 成人百度seo刷排名网址
  • 利用php做网站网站搭建
  • 网站建设圣诞素材seo企业建站系统
  • 动态网站和静态网站的区别网络营销概述
  • 网站方案怎么写百度广告联盟app下载官网
  • 深圳网站设计+建设首选班级优化大师功能介绍