跳至内容
- C/ObjC/C++支持原始字符串指针char *指示字符串首地址或char []数组存储字符串。
ObjC还支持NSString字符串以@开头,例如@"hello",它属于Foundation框架字符串类库。
C++ STL模板库封装char *的string更好用。
NSString字符串少写了@开头,会提示编译错误。
- Swift/Java/仓颉/Rust/VB/Kotlin:String
- C#/Go: string
不同的是,Go字符串是值类型。
- Python/JS 的字符串是用单引号或双引号括起来,例如'hello' 或 "good".
- JS有点复杂,字符串分成基本字符串和字符串对象。普通字符串字面量或String()函数都会产生基本字符串,用new String()创建的是字符串对象,这种和普通C++/C#创建的字符串对象类似,有自己单独的地址。
- 用eval函数处理基本字符串和字符串对象是截然不同的,基本字符串如果有表达式运算会直接计算,而字符串对象会按对象处理。
例如:eval("3+2") 返回 5,而eval(new String("3+2")) 返回字符串 "3+2".
- Pascal 字符串类型是string.