Scala_入门笔记

VM虚拟机下,通过无线,有线两种方式连接PLC的设置方法 1,VMware软件:编辑>虚拟网络编辑器。 2.右下角:更改设置(如果可以选中“添加网络”选项,则可考虑略过此步) 3.选中VMnet0,点击桥接模式,选中你的物理机有线网卡。点击确定。 4.点击添加网络,我的添加完是VMnet2,然后选中,像上一步样,点击桥接模式,在下拉菜单中选中笔记本的【无线网卡】,然后点击确定。 5.VMware软件:虚拟机>设置。 6.点击 添加>网络... 阅读详情

1.来历
洛桑联邦理工学院(EPFL)的Martin Odersky于2001年基于Funnel的工作开始设计Scala。Funnel是把函数式编程思想和Petri网相结合的一种编程语言。Odersky先前的工作是Generic Java和javac(Sun Java编译器)。 Odersky教授创建Scala语言的一个主要原因是不满Java语言相对复杂的语法。因此,他设计的Scala的代码质量远远高于Java。
Scala将面向对象和函数式编程融合在一个静态类型语言中,其目标是组件或组件体系的开发。目的:设计出比Java更好的语言。

2.Scala基本语法和约定

区分大小写
类名单词首字母大写
方法名首单词首字母小写,其余单词首字母大写
程序文件名称与对象名一致
def main(args:Array[String])程序入口

可以看出和Java区别不是很大。

3.标识符


字母数字标识符:跟其他语言类似,由字母、数字和下划线组成,但需注意“$”字符被保留作为scala编译器产生的标识符之用。

操作符标识符:由一个或多个操作符字符组成。scala编译器将在内部“粉碎”操作符标识符以转换成合法的内嵌“$”的java标识符。运算符字符是可打印的ASCII字符,如:+,:,?,~或#。例如,标识符:->将被内部表示为$colon$minus$greater

混合标识符:由字母数字以及后面跟着的下划线和一个操作符标识符组成。如unary_+定义了一个前缀操作符“+”。

字面量标识符:是用反引号`…`包含的任意字符串,scala将把被包含的字符串作为标识符,即使被包含字符串是scala的关键字。例如:可以使用Thread.`yield`()来访问java中的方法,即使yield是scala的关键字。

4.数据类型

数值类型
Scala的基本数据类型与Java中的基本数据类型是一一对应的。
7种数值类型:Byte、Char、Short、Int、Long、Float和Double
2种非数值类型:Boolean和Unit(只有一个值“()”,相当于java和c++中的void,即空值)
以上所有数据类型都是对象。Scala中没有类似Java中那样的原始类型。这意味着可以调用Int,Long等方法。
字符串类型
scala沿用了java.lang包中的String。在scala中常量也称作字面量,字符串字面量由双引号包含的字符组成,同时scala提供了另一种定义字符串常量的语法:原始字符串,它以三个双引号作为开始和结束,字符串内部可以包含无论何种任意字符。

val:声明不可变的变量,一旦初始化就不能再被赋值
var:声明可变的变量,可以在它的生命周期中被多次赋值
推荐使用val,如下:

val content: String = "hello world“
val content2: String = new String(“hello world”)

5.运算符

::运算符(两个冒号)表示普通元素与List的连接操作
:::运算符(三个冒号)表示List的连接操作
<- 运算符,也叫做generator。主要用于for循环中,用于遍历集合对象。
=> 含义比较多,用法最复杂

1、val triple = (x: Int) => 3 * x---定义函数
2、switch的模式匹配

6.程序控制结构-分支循环

if{}
if {
}else{
}
 if{
 }else if{
 }else{
 }

打印1到10

for(i <- 1 to 10){
    println(i)
}

匹配表达式即(Switch-Case)

scala中做比较用的样本(case)可以是任何类型的常量或变量,但是java只能是byte、short、char和int这4种之一的常数或常量,不能是变量;
在每个case语句最后,不需要break,break是隐含的;
match表达式也能产生值;
如果没有匹配的模式,则MatchError异常会被抛出。

val str = "apple"
val friend = str match{
    case "salt" => "pepper"
    case "apple" => "pen"
    case _=> "huh?"
}

7.数组
1.声明定义

var z:Array[String] = new Array[String](3)   
var z = new Array[String](3)
var z = Array("Maxsu", "Nancy", "Alen")

2.数组的遍历

var myList = Array(1.9, 2.9, 3.4, 3.5)   
for ( x <- myList ){
     println(x) 
}
var total = 0.0; 
for ( i <- 0 to (myList.length - 1)) { 
    total += myList(i); 
} 
println("Total is " + total);

3.数组常用方法

1.sum求和(数组必须是数值型数据)
println(array.sum)
2.min max 输出数组中最小和最大元素
println(array.min)
println(array.max)
3.使用sorted方法对数组或数组缓冲进行升序排序,这个过程不会修改原始数组
val sortArr = array.sorted
4.使用比较函数sortWith进行排序
val sortArr = ab.sortWith(>)
5.数组显示
println(sortArr.mkString(“|”))
println(sortArr.mkString(“startFlag”,”|”,”endFlag”))
6.使用concat()方法连接两个数组
var myList3 = concat( myList1, myList2)
7.使用range()方法来生成包含给定范围内增加整数序列的数组
var myList2 = range(10,20) //创建一个数组,其元素介于10和20之间,范围步差为1
8.复制一个数组到另一个数组上
def copy( src: AnyRef, srcPos: Int, dest: AnyRef, destPos: Int, length: Int ): Unit
9.返回数组,长度为第一个参数指定,同时每个元素使用第二个参数进行填充。
def fill[T]( n: Int )(elem: => T): Array[T]

PCL 基于强度的双边滤波【2026最新版】 基于强度信息的双边滤波代码实现、滤波前后点云未出现变化的原因以及获取带有强度pcd点云的方法。本文由优快云点云侠原创,博客长期更新,本文最近一次更新时间为:2026年5月24日。 阅读详情

相关推荐

通讯软件002——快速使用modscan进行modbus调试

快速使用modscan进行modbus调试

zhouwl72的博客 1031

scala中高阶函数

基本介绍 能够接受函数作为参数的函数,叫做高阶函数 (higher-order function)。可使应用 程序更加健壮。 高阶函数基本使用 //test 就是一个高阶函数,它可以接收f: Double => Double def test(f: Double => Double, n1: Double) = { f(n1) } //sum 是接收一个Double,返回一个Double def sum(d: Double): Double = { d + d } val

迎接小天使 340

2.设置Salesforce开发环境

Salesforce DX:salesforce Developer Experience (salesforce开发人员体验)LWC:Lightning Web Component(注意首字母是大写的,是一个概念,小写的话有组件本身的含义)CLI:Command Line Interface(命令行界面)version control system (VCS):版本控制系统。

nihaixiao的博客 2195

大数据术语之Scala

元组 1.元组的创建; 2.元组数据的访问,注意元组元素的访问有下划线,并且访问下标从1开始,而不是0; 3.元组的遍历; 样例类 case class Person(name:String,age:Int) 一 般使用在 ds=df.as[Person] 闭包 一个函数把外部的那些不属于自己的对象也包含(闭合)进来。 def minusxy(x: Int) = (y: Int) => x - y 这就是一个闭包: 1) 匿名函数(y: Int) => x -y嵌套在minusxy函数中。

qq_30003943的博客 304

HDLbits找茬实战:5个Verilog仿真Bug修复案例,新手避坑指南

本文通过HDLbits平台上的5个典型Verilog仿真Bug案例,详细解析了多路选择器位宽不匹配、模块实例化端口映射错误等常见问题,提供实用的修复方案和调试技巧,帮助Verilog新手快速掌握代码验证与仿真技能,避免常见陷阱。

weixin_42653691的博客 162

CLCD 中国生命周期基础数据库使用攻略

CLCD 是公共建筑碳排放计算的理想选择,其本地化数据可显著提高计算准确性。

hy行者勇哥的博客 2671

Scala从安装配置到入门基础

Scala是一门多范式的编程语言。是一种纯面向对象的语言,每个值都是对象。同时也是一种函数式语言,其函数也能当成值来使用。由于Scala整合了面向对象和函数式编程的特性,因此Scala相对于Java、C#、C++等其它语言更简洁。本文章将通过简单的案例教会大家如何简单的使用Scala编程,大家也可以模仿案例动手实践有助于自己入门学习 Scala也是运行在JVM上的语言,所以必须确认环境中安装了Java Windows安装直接在官网下载后,在本地高级系统设置中添加bin目录地址环境即可............

Anchor 7740

ImportError: DLL load failed while importing _pydantic_core: 找不到指定的程序对应解决方案

本文主要介绍了ImportError: DLL load failed while importing _pydantic_core: 找不到指定的程序对应解决方案,希望能对使用Python的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 19万+

Scala语言入门

Scala语言入门

ks_1998的博客 5429

彻底解决Win11锁屏界面黑屏或者图片不变化

windows锁屏后黑屏

renkai721的专栏 1万+

【文献笔记】ICCV 2021 | Point Transformer

作者提到,特别适合点云处理,因为自注意力机制是的核心,本质上就是一个集合算子:它对输入元素具有顺序不变性和数量不变性3D点云是无序的,即使改变点云txt文件中的点顺序也不会有任何影响。自注意力机制天然具有排列不变性,因为它通过对所有"点对"的关系进行建模来处理输入,而不依赖于任何特定的输入顺序点云数据通常覆盖了3D空间中的对象或场景,理解这些数据需要捕捉点与点之间复杂的空间关系。自注意力机制能够有效的捕捉这些关系,因为它为每个"点对"赋予一个。

m0_55908255的博客 965

Scala快速入门(一篇就够了)

Scala快速入门

阿甘兄 4266

996引擎 - 读写变量性能测试

单轮100万次读写,取3轮平均耗时(毫秒),有效读取率均为100%,数值越小性能越优。

灵台方寸山斜月三星洞 244

Scala 从入门到精通学习笔记

本文全面介绍了Scala编程语言的核心知识点,内容涵盖从基础语法到高级特性的完整学习路径。作为一门融合面向对象与函数式编程的多范式语言,Scala具有类型安全、表达力强、JVM互操作等显著特点。文档系统讲解了变量声明、流程控制、集合操作、面向对象编程、模式匹配、高阶函数、隐式转换等核心概念,并提供了大量代码示例。特别强调了函数式编程的最佳实践,如优先使用不可变变量、Option类型处理空值、链式调用函数等。最后给出了学习路线建议和实用资源,适合从入门到进阶的Scala开发者系统学习。

qq_53401830的博客 1061

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

scala入门笔记

scala基础入门笔记,主要包括scala类型,函数,基本判断语句等

古月慕南的代码世界 569

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Scala入门学习笔记

有java基础感觉scala应该是比较简单的,很快就能上手,scala多了很多花里胡哨的东西,没有java那么朴实无华。 一、Hello World /** * Copyright..@ lbhbinhao@163.com * Author:liubinhao * Date:2020/12/16 * +++++ ______ ______ ______ * ++++/ /|

刘滨浩的博客 1173

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Scala 入门笔记

Scala 函数式编程:感觉spark一般用scala写,甚至spark源码就是用scala实现的,所以就学习一下scala 基础 /** * 基础语法 */ object base { def hello1(name:String):String = { s"my name is ${name}" } def hello2(n...

weixin_30569033的博客 284

Scala入门笔记

一个构建有理数的scala例子class Rational(n: Int, d: Int) { require(d!=0) private val g = gcd(n.abs, d.abs) //最大公约数 val numer: Int = n / g val denom: Int = d / g def this(n: Int) = this(n, 1) override

thesby的专栏 564

Scala入门-随堂笔记

这里写目录标题Scala简介Scala初体验安装及配置Scala验证scala安装插件HelloWorld实例Scala概述Scala变量与常量变量常量使用类型别名定义变量Scala数据类型原始数据类型数据类型层次结构字符串插值Scala条件控制条件语句的返回值Scala循环控制whilefor循环中断for循环过滤for循环返回值Scala数组Scala之Array的方法 Scala简介 Scala源自Java Scala构建在JVM之上 Scala与Java兼容、互通 Scala的优势 多范式编程:面

Helltaker的博客 625

Scala 光速入门之一 笔记

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出Markdown文件 丰富的快捷键 快捷键 加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

cainiaox_的专栏 621

Scala从入门到精通 个人的学习笔记和代码

声明 个人学习scala所作的笔记和写的示例代码。希望能给有需要人的提供帮助。 做笔记的时候还是自发行为,肯定是有很多不足的,所以不喜勿碰,谢谢! 有能力的兄弟,希望能C币支持一波,你们的支持是我继续分享的动力,谢谢你们! 但实在没有C币的兄弟们,可以发邮件至718429427@qq.com,或者留言,我看到了会尽快给您材料的。 点击下载https://download.youkuaiyun.com/download/weixin_43283339/13079925 笔记目录 Scala简介&快速入门 Sca

shihb的博客 307

Scala学习笔记01【Scala入门初探】

1、Scala解释器的使用    下载地址:http://www.scala-lang.org/downloads.    Scala的交互式shell就叫做scala。命令提示符输入scala就行(需配置好Java环境变量):    以下是cmd内容: Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Microsoft Corpor

未来之歌 2632

Scala 笔记(初级入门篇)

Scala的初级编程笔记,对于Scala进行初探,学习点皮毛。

zsk843的博客 456

Scala学习笔记【从入门到放弃】

一、关于Scala安装 https://www.scala-lang.org/download/ 如果你是Java程序员,想学习Scala,请看官网提供的快速入门: https://docs.scala-lang.org/tutorials/scala-for-java-programmers.html 二、Scala语言Hello World的编写 object H...

zp的博客 1883

Scala入门到开发笔记分享

学习Scala时的一些笔记,分享给大家

Wai0210的博客 483

Scala语言 · 入门学习笔记

Scala学习目录Scala语言Scala 特性面向对象特性函数式编程静态类型扩展性并发性第一个Scala程序基础Scala 基础语法基础引深集合更多的集合不可变可变集合Scala 访问修饰符私有(Private)成员Scala运算符算术运算符关系运算符逻辑运算符位运算符赋值运算符Scala IF...ELSE 语句if语句if...else 语句if...else if...else 语句if...else 嵌套语句模式匹配与函数组合函数组合 Scala语言 W3Cschool的Scala文档:http

Sartin的博客 884
上一篇: Scala_环境配置
下一篇: Scala_入门笔记_List
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值