美文网首页
日更挑战-语言基础汇总-变量定义

日更挑战-语言基础汇总-变量定义

作者: 愿你我皆是黑马 | 来源:发表于2021-06-24 21:16 被阅读0次
声明和赋值.png

声明和赋值:强类型,弱类型


1. 确定类型

java

变量类型 标识符=值

C/C++

变量类型 标识符=值

oc

变量类型 标识符=值


2. 推断类型


3. 推断类型推断、确定类型

kotlin

确定类型

var 标识符:变量类型=值

推断类型

var 标识符=值


ts

确定类型

var 标识符:变量类型=值

推断类型

var 标识符=值


swift

确定类型

var 标识符:变量类型=值

推断类型

var 标识符=值

4. 可变类型


python

标识符=值


js

var 标识符=值


groovy

def 标识符=值

但是兼容java的定义方式


linux shell

标识符=值

注意

=左右不能有空格

通过 $标识符 使用


window shell

set 标识符=值

注意

通过 %标识符% 使用

/p:等待用户输入赋值

set /p value=请输入变量的值

/a :通过算术运算赋值

5. 可变、推断、确定类型


dart

确定类型

变量类型 标识符=值

推断类型

var 标识符=值

可变类型

dynamic 标识符=值

与Object的区别

Object只能用Object的属性方法,dynamic可以使用赋值类型的属性方法


访问修饰符

java、groovy类

public

只要导入就能访问

protected

子类才能访问

friendly(default)

同包可访问

private

不可访问,私有的


kotlin

public(default)

internal

子主题 1

protected

private


ts

public(默认)

只要导入就能访问

protected

子类才能访问

private

不可访问,私有的


swift

open

可以被任何人使用,包括override和继承

public

可以被任何人访问。但其他module中不可以被override和继承,

而在module内可以被override和继承。

internal(默认)

fileprivate

文件内私有

相当于dart的_下划线私有

private

不可访问,类内私有的


oc

特点

访问修饰符只能用来修饰属性,不能用来修饰方法。

@public

公共的,被其修饰的属性可以在任意地方访问。

@package

被其修饰的属性,可以在当前框架中访问

@protected(默认)

在本类以及本类的子类中访问

@private

本类的内部访问

c++

public

只要导入就能访问

protected

子类才能访问

private(默认)

不可访问,私有的


没有访问修饰符的语言
dart

默认是public

使用下划线_开头 实现private

是根据package类分的,不是根据class来分的

所以可以通过在同一个文件通过_下划线定义变量来达到java的friendly访问类型

使用@protected注解变量 实现protected

实际测试是没有用的,只会在外部调用时有一个黄色的下划线,警告应该在子类使用,但是还能正常运行

linux shell

window shell

python

js

c

静态变量 定义


static方式

java

groovy

ts

dart

c/c++

oc:但是有限制


companion object{}

kotlin

也可以 object XXX{这里面定义}


顶层声明的方式

kotlin


类内层,方法外层声明方式

python


通过为类和方法扩展属性

js:直接对(类|方法).标识符=值


没有
linux shell

window shell


常量


final

java

groovy

只能使用java的,def定义不了常量

dart:有两种

定义时可以先不赋值


val

对于kotlin来说不是定义常量,而是定义只能重写get方法的变量


const

kotlin
另一种kotlin独有的注解@JvmField也可以 @JvmField val NAME = "89757
注意 只能使用在文件上,而不是属于任何类
const val name = "Kotlin"
class DemoConstant {}
object内
class DemoConstant {
companion object {
const val subName = ""
}
}

js

但是在超集TS中,const关键字不能用于声明类的属性

dart:有两种

定义时必须要赋值

oc

static const 数据类型 *标识符 = 值;

局部常量:用static修饰后,不能提供外界访问

const 数据类型 *标识符 = 值;

全局常量:不管你定义在任何文件夹,外部都能访问

数据类型 const *标识符 = 值;

数据类型 * const 标识符 = 值;

c/c++


readonly

ts

linux shell


let

swift


宏定义

oc

define 标识符 值

在预处理器里进行文本替换

没有类型,不做任何类型检查

相同的字符串只保存一份(甚至子字符串直接不保存通过截取方式)

c/c++


没有

python
通过自己写改变时抛异常的类实现
class _const:
class ConstError(TypeError):pass
def setattr(self,name,value):
if name in self.dict:
raise self.ConstError("Can't rebind const (%s)" %name)
self.dict[name]=value
==============================================
const = _const()
const.PI=3.14
print(const.PI)

window shell

相关文章

  • 日更挑战-语言基础汇总-变量定义

    声明和赋值:强类型,弱类型 1. 确定类型 java 变量类型 标识符=值 C/C++ 变量类型 标识符=值 oc...

  • 1、Go语言的变量与类型.md

    变量是任何一门编程语言的基础,每一门语言的变量定义风格也不尽相同,我们来看看 Go 语言定义变量的方式。 全局变量...

  • 这应该是全网最详细的Python入门基础语法汇总了!新手小白快来

    这应该是最详细的Python入门基础语法汇总! 废话不多说,直奔主题! 定义变量,使用变量 input 用户自己输...

  • Go语言基础语法总结

    Go语言基础语法总结 一 变量 变量定义1.1 使用var关键字var a boolvar a bool = tr...

  • C++ 语言基础

    C++ 语言基础 1. 局部变量和全局变量能否重名? 局部变量是定义在函数内部的变量。全局变量是定义在函数之外的变...

  • 变量的基本使用

    如何定义变量? C语言定义变量的格式: 数据类型 变量名称; Go语言中定义变量的格式: var 变量名称 ...

  • go基础

    go 语言基础知识汇总

  • C语言基础

    C语言定义变量 定义一个变量 给变量赋值 定义一个变量的同时给变量赋值 C语言使用变量之前必须赋值或者初始化 试试...

  • 语言基础汇总-变量类型(待修改)

    变量类型 数字(整数或小数) dart num 整数 java short(短整数) int(整数) long(长...

  • linux shell编程入门

    参考资料 博客园 基础命令 变量 定义变量 变量的赋值=两侧不能有空格变量的使用在变量名前加$ 运算符 与其他语言...

网友评论

      本文标题:日更挑战-语言基础汇总-变量定义

      本文链接:https://www.haomeiwen.com/subject/tnpgyltx.html