golang有没有自动转义字符串的函数
golang如何创建目录
golang中关于目录与文件名等操作都在os这个包中,具体的创建目录都是通过Mkdir和MkdirAll这2个函数来实现的,这两个函数用法一致 os.Mkdir(dirName string, perm FileMode)dirName即要创建的目录(文件夹路径),可以是绝对路径,也可以是相对路径(相对于GOPATH) perm表示创建的目录的权限,如0777(读r权限值为4,写权限w值为2,执行权限x值为1) 如:我要在/data/program/goapp这个目录下创建一个golang这个子目录,示例如下: package mainimport ( "os" "fmt")func main() { err := os.Mkdir("/data/program/goapp/golang", 0666) if err != nil { fmt.Println(err) }}注:Mkdir和MkdirAll的区别 Mkdir创建目录,它的父级目录必须是存在的,不然创建会失败 MkdirAll可以递归创建目录,即只要根目录存在即可,如下: err := os.MkdirAll("/data/program/goapp/golang/test/hello", 0766)if err != nil { fmt.Println(err)}本例中:/data/program/goapp是已经存在的目录,而子目录golang/test/hello是不存在,此时要使用MkdirAll来创建
golang有没有自动转义字符串的函数
这种建议直接使用str_replace,不需要用到preg_replace。请注意你的"WHERE A.city_id='$GLOBALS[city_id]' "后面是有个空格的,不知道你的$_array[sql]最后是否有空格,如果没有,会替换失败。 $GLOBALS[city_id] = 1000; $_array[sql] = "SELECT * FROM `abc` WHERE A.city_id='$GLOBALS[city_id]'"; echo $_array[sql].""; str_replace版: echo str_replace("WHERE A.city_id='$GLOBALS[city_id]'","WHERE 1' ",$_array[sql]); preg_replace版:这个函数要求有分界符/,还有点是正则特殊字符,需要转义。 echo preg_replace("/WHERE A\.city_id='$GLOBALS[city_id]'/i","WHERE 1' ",$_array[sql]);
golang如何实现urldecode
请教golang 中导入包的技巧
据我理解,“_”好像不是不导入包名吧。。。而是不使用该包中的变量和函数,只执行里面的init函数。 另外,用包里的变量,似乎除了“.”,“包名字.”和包内调用三种方式以外没有其他可行方式了。 当然,还有一种投机取巧的方式。 假设yaml包是A包,而要调用到Map和List的包是B包。 那么在B包里做类似的公用工具函数来生成A包里的Map和List,或者生成类似的公用变量。 当然,个人觉得这是比较扯淡的做法,但是也是可以实现就是了。
golang如何实现urldecode
首先你的理解是错的,不管用户态的API(syscall)是否是同步还是异步,在kernel层面都是异步的。
其实实现原理很简单,就是利用C(嵌入汇编)语言可以直接修改寄存器(setcontext/setjmp/longjmp均是类似原理,修改程序指针eip实现跳转,栈指针实现上线文切换)来实现从func_a调进去,从func_b返回出来这种行为。对于golang来说,func_a/func_b属于不同的goroutine,从而就实现了goroutine的调度切换。
另外对于所有可能阻塞的syscall,golang对其进行了封装,底层实际是epoll方式做的,注册回调后切换到另一个runnable的goroutine。
go语言如何调用c函数
golang 怎么把 db 传入包
通过 import 命令来导入包,查找的范围就是简述里说的 $GOPATH/src 定义的路径。代码中使用某外包的函数时,需要使用 "最后一个包名.函数名" 的方式,所以如果导入如下情况时,在使用上就会出现问题:
import (
"json"
"my/json"
)
那我们需要给包名起个不同的别名,如:
import (
. "json"
myjson "my/json"
)
go语言如何调用c函数
直接嵌入c源代码到go代码里面
package main
/*
#include
void myhello(int i) {
printf("Hello C: %d\n", i);
}
*/
import "C"
import "fmt"
func main() {
C.myhello(C.int(12))
fmt.Println("Hello Go");
}
需要注意的是C代码必须放在注释里面
import "C"语句和前面的C代码之间不能有空行
运行结果
$ go build main.go && ./main
Hello C: 12
Hello Go
分开c代码到单独文件
嵌在一起代码结构不是很好看,很多人包括我,还是喜欢把两个分开,放在不同的文件里面,显得干净,go源文件里面是go的源代码,c源文件里面是c的源代码。
$ ls
hello.c hello.h main.go
$ cat hello.h
void hello(int);
$ cat hello.c
#include
void hello(int i) {
printf("Hello C: %d\n", i);
}
$ cat main.go
package main
// #include "hello.h"
import "C"
import "fmt"
func main() {
C.hello(C.int(12))
fmt.Println("Hello Go");
}
编译运行
$ go build && ./main
Hello C: 12
Hello Go
编译成库文件
如果c文件比较多,最好还是能够编译成一个独立的库文件,然后go来调用库。
$ find mylib main
mylib
mylib/hello.h
mylib/hello.c
main
main/main.go
编译库文件
$ cd mylib
# gcc -fPIC -shared -o libhello.so hello.c
编译go程序
$ cd main
$ cat main.go
package main
// #cgo CFLAGS: -I../mylib
// #cgo LDFLAGS: -L../mylib -lhello
// #include "hello.h"
import "C"
import "fmt"
func main() {
C.hello(C.int(12))
fmt.Println("Hello Go");
}
$ go build main.go
运行
$ export LD_LIBRARY_PATH=../mylib
$ ./main
Hello C: 12
Hello Go
在我们的例子中,库文件是编译成动态库的,main程序链接的时候也是采用的动态库
$ ldd main
linux-vdso.so.1 => (0x00007fffc7968000)
libhello.so => ../mylib/libhello.so (0x00007f513684c000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f5136614000)
libc.so.6 => /lib64/libc.so.6 (0x00007f5136253000)
/lib64/ld-linux-x86-64.so.2 (0x000055d819227000)
理论上讲也是可以编译成整个一静态链接的可执行程序,由于我的机器上缺少静态链接的系统库,比如libc.a,所以只能编译成动态链接。
go语言中同一个package下的文件相互引用怎么做
请问,php中include如何调用其他目录下的文件?
include 文件要根据你存取那个档案所在的目录而定, 而不是include 那个文件为定 例如你要存取index.php 所在目录为 aa/index.php index.php 里要include aa/bb/cc.php 你要写 include "bb/cc.php, 如果在aa/bb/cc.php里要include aa/dd.php 你还是要根据index.php所在的目录来INCLUDE, 即 include "dd.php" 因为你存取的档案是aa/index.php 所以当前目录是 aa 和dd.php 在同一目录
go语言中同一个package下的文件相互引用怎么做
参考代码:
package lessonimport ( "math")type Circle struct { Radius float64}func (c *Circle) Area() float64 { return c.Radius * c.Radius * math.Pi}
package lessontype Rectangle struct { Width, Height float64}func (r *Rectangle) Area() float64 { return r.Width * r.Height}
package lessonimport ( "fmt")func Say(s string) { fmt.Println(s) var obj = &Rectangle{Width: 2.0, Height: 3.0} fmt.Println(obj.Area())}
package mainimport "test/lesson"func main() { lesson.Say("abc")}
golang 包中的全局变量 在引用包的文件中是同一个值吗
php类里面怎么引入一个外部文件?
require()
require()语句用于指定的文件代替语句本身,就象C语言中的include()语句一样。如果php配置文件php.ini中的URL fopen
wrappers 是打开的(默认情况下是打开的),就可以使用URL来指定文件的位置从而实现远程文件的调用。
有一点就是使用require()和include()语句时要特别的注意。那就是在被包含的文件中,处理器是按照html模式来解释其中的内容的,处理完被包含的内容后又恢复到php模式。所以如果需要在被包含文件中使用php语法,就要使用正确的php开始和结束标记来把这些语句包含进去。
require()和include()知识php中的一种语言特性,而不是函数。它们和函数有许多不同的地方。
include()
include()语句和require()语句有许多相同的地方。凡是在上边require()语句中没有明确说明不能适用于include()的部分外,require()语句的功能完全适用于include()语句。下边介绍require()语句所没有的include()语句的功能和特点。
include语句只有在被执行时才会读入要包含的文件。在错误处理方便,使用include语句,如果发生包含错误,程序将跳过include语句,虽然会显示错误信息但是程序还是会继续执行!
php处理器会在每次遇到include()语句时,对它进行重新处理,所以可以根据不同情况的,在条件控制语句和循环语句中使用include()来包含不同的文件。
require_once()和include_once()
require_once()和include_once()语句分别对应于require()和include()语句。require_once()和include_once()语句主要用于需要包含多个文件时,可以有效地避免把同一段代码包含进去而出现函数或变量重复定义的错误
golang 包中的全局变量 在引用包的文件中是同一个值吗
在C语言中引用外部变量,一般使用extern关键字。举个例子如下:
//1.c 中定义一个变量g_a
int g_a = 100;
//2.c 中定义一个函数输出g_a
#include
extern int g_a; //这里需要用extern说明g_a是一个外部全局变量
void f() {
printf("%d\n", g_a);
}
//3.c main函数中调用f()
void f(); //声明函数f()
int main()
{
f();
}
golang 和Python 那个好
php include引入文件问题
include函数是引入文件 命名空间解决的是同一脚本下相同函数重名,不同的命名空间命名,相当于处于不同的模块,解决同一脚本下php函数重名的致命错误 1. 你之前include引入的时候你的2个文件的相同函数处于不同命名空间下,就算在同一脚本也不会报错 2. 看你最后段代码,你连续定义了2个命名空间,第1个就没用了,相当于你在namespace Foo\Bar\subnamespace;命名空间下写了之后的代码,但是之后的代码处于namespace Foo\Bar\subnamespace;下但是出现了2个相同名的函数,自然报错 3. 你要区分命名空间和include就要先懂得他们代表的意思,从你的问题可以看出你不太懂命名空间,建议你百度或者看下php手册上的命名空间,自己捉摸比别人教理解得更加深刻 4. 建议你把namespace Foo\Bar\subnamespace;写到const FOO = 2;上面
golang 和Python 那个好
没有绝对好的和绝对坏的,而是使用的时候,充分利用他们的优点即可
Go对比Python的优点如下:
一、部署简单。 Go 编译生成的是一个静态可执行文件,除了 glibc 外没有其他外部依赖。这让部署变得异常方便:目标机器上只需要一个基础的系统和必要的管理、监控工具,完全不需要操心应用所需的各种包、库的依赖关系,大大减轻了维护的负担。这和 Python 有着巨大的区别。由于历史的原因, Python 的部署工具生态相当混乱,比如 setuptools, distutils, pip, buildout 的不同适用场合以及兼容性问题。官方 PyPI 源又经常出问题,需要搭建私有镜像,而维护这个镜像又要花费不少时间和精力。
二、并发性好。 Goroutine 和 channel 使得编写高并发的服务端软件变得相当容易,很多情况下完全不需要考虑锁机制以及由此带来的各种问题。单个 Go 应用也能有效的利用多个 CPU 核,并行执行的性能好。这和 Python 也是天壤之比。多线程和多进程的服务端程序编写起来并不简单,而且由于全局锁 GIL 的原因,多线程的 Python 程序并不能有效利用多核,只能用多进程的方式部署;如果用标准库里的 multiprocessing 包又会对监控和管理造成不少的挑战(我们用的 supervisor 管理进程,对 fork 支持不好)。部署 Python 应用的时候通常是每个 CPU 核部署一个应用,这会造成不少资源的浪费,比如假设某个 Python 应用启动后需要占用 100MB 内存,而服务器有 32 个 CPU 核,那么留一个核给系统、运行 31 个应用副本就要浪费 3GB 的内存资源。
三、良好的语言设计。从学术的角度讲 Go 语言其实非常平庸,不支持许多高级的语言特性;但从工程的角度讲, Go 的设计是非常优秀的:规范足够简单灵活,有其他语言基础的程序员都能迅速上手。更重要的是 Go 自带完善的工具链,大大提高了团队协作的一致性。比如 gofmt 自动排版 Go 代码,很大程度上杜绝了不同人写的代码排版风格不一致的问题。把编辑器配置成在编辑存档的时候自动运行 gofmt ,这样在编写代码的时候可以随意摆放位置,存档的时候自动变成正确排版的代码。此外还有 gofix, govet 等非常有用的工具。
四、执行性能好。虽然不如 C 和 Java ,但通常比原生 Python 应用还是高一个数量级的,适合编写一些瓶颈业务。内存占用也非常省。
python写爬虫好还是golang
某个php文件如何调用其他文件夹下php文件 如:我想在index.php中调用 ad文件夹下的foot.php 如何写谢谢!
请使用include_once “ad/foot.php”(只引用一次)
调用其它php文件有多种方式:require ,require_once ,include ,include_once 但include 和require是有区别的:
require 这个函式通常放在 PHP 程式的最前面,PHP 程式在执行前,就会先读入 require 所指定引入的档案,使它变成 PHP 程式网页的一部份。常用的函式,亦可以这个方法将它引入网页中。
include这个函式一般是放在流程控制的处理区段中。PHP 程式网页在读到 include 的档案时,才将它读进来。这种方式,可以把程式执行时的流程简单化。
还有,使用require函数引用文件是不受任何条件限制一定会被读取到当前php页的,例如
$language = 'english';
if $language = "french" {
include_once '.\french_file.php';
}
else {
include_once '.\not_french_file.php';
}
此时,因为条件语句的关系,只引用了not_french_file.php。
而如果用require代替include
if $language = "french" {
require_once '.\french_file.php'
}
else {
require_once '.\not_french_file.php'
}
无论条件语句如何,french_file.php和not_french_file.php都会被调用到当前页面。
python写爬虫好还是golang
我的思路是这样,因为自己起点低,还精力有限,又想弯道追上技术潮流,所以着眼未来,选择Golang。既然敢叫云技术语言,那么它的性能自然是适合未来发展的,像facebook这样的大公司貌似也挺重视它…最最主要的,赌它未来能全栈应用,期待可以直接上手用Go开发Android和iOS应用的那一天~
框架选择上吗,初级选手建议Revel(开源案例比较多,老框架、Go官方给予了该框架很高的评价),其实Go语言众多框架性能都很卓越,水平高的不用框架直接玩更爽。顺嘴吐一下槽,Go语言框架之多如少女脸上的青春痘~
对了,选择Go语言的好处是,各个社区学习互助氛围比较好,你去哪个网上社区去请教问题,都会有人热情解答~
电商后台api使用golang还是python写好
UNIX和LINUX的区别,可用什么语言编程
UNIX和LINUX的区别的区别:
某些PC机的Unix和Linux在实现方面相类似。几乎所有的商业Unix版本都基本支持同样的软件、程序设计环境和网络特性。然而,Linux和Unix的商业版本依然存在许多差别。Linux支持的硬件范围和商业Unix不一样。一般来说,商业Unix支持的硬件多一些,可是Linux支持的硬件也在不断扩大。突出的是,Linux至少和商用Unix一样稳定。对许多用户来说,最重要的因素是价格。Linux是免费软件,用户可以从Internet网上下载。如果上网不方便,可以很便宜地通过邮购得到Linux的磁盘或CD-ROM。当然也可以直接从朋友那里得到。商业Unix的价值不应被贬低。除了软件本身的价格外,用户还需支付文档、售后支持和质保费。对于较大的机构,这些都很重要,但是PC机用户也许从中得不到什么好处。许多商业公司和大学等单位已经发现,在实验室用廉价的PC机运行Linux比用工作站运行商业Unix还好。Linux可以在PC机上提供工作站的功能,而PC机的价格是工作站的几分之一。也有一些针对PC机的便宜的Unix,其中最有名的是386BSD。在许多方面,386BSD软件包和Linux兼容,但Linux更适合用户的需求。最显著的是,Linux的开发是开放的,任何志愿者都可以对开发过程做出贡献。相比之下,386BSD是由封闭的团队开发的。正是这样,这两种产品存在着严重的概念上和设计上的差别:Linux的目标是从头开始开发一个完整的Unix系统;386BSD的目标则是对现有的BSD做些修改,以适合80386系统。
可用C语言编程,unix是收费的,源程序代码不公开的,linux是免费得,代码公开的.
电商后台api使用golang还是python写好
go看过几个程序,挺强大的。比如有一个weedfs分布式文件系统。
至于好用。脚本语言是容易编程,容易维护,但是不容易调试。2000年左右python是脚本语言之王,现在也是排名靠前的。
go是类似java设计定位,应用范围比java还要小的一个语言。可能需要很多年成长才会好用起来。
要说好用呢,语言熟悉了,都好用。无论是basic, python, c, c++还是java,用熟悉了感觉是相同的,开发速度也比较接近。 不过整体上脚本语言要比编译语言开发速度快几倍。但是运行时出错的几率也大了几倍。
golang map[string]string数组编码成json格式,或者序列化,如php的serialize函数;就是将数组变成字符串
Golang的log包哪个好用
golang系统自带log包,满足基本需求。
如果你觉得自带的log包满足不了你的话,那么你可以尝试一下:
https://github.com/golang/glog
glog由golang官方团队维护的,代码少,功能较全面,支持输出级别。
https://github.com/cihub/seelog
也是一款年代久远的log包了。相对glog要大很多呢。支持的也就更全面了。
golang里面表示指针的*和&符号有什么区别
指针,或者说pointer是一串指向某个内存地址的字符串,所谓指向是指这串字符串的内容是内存地址的值
&表示取地址,例如你有一个变量a那么&a就是变量a在内存中的地址,对于golang,指针也是有类型的,比如如果a是一个string那么&a是一个string的指针类型,在go里面叫&string
所以你看到b := &a,a,b是两个不同的变量,a是string类型,b是&string类型,你用fmt去打印b,你会发现它是一串内存地址,而非a的值
所以为了拿到a的值,有个操作*,用来取出指针对应内存地址里存的值,所以当你fmt打印一下*b它会跟a一模一样
go语言设置时GOPATH和GOROOT有什么区别
可以简单理解为:
$GOPATH 是go的工程目录
/home/guest/gocode
├── bin
├── pkg
└── src
$GOROOT 是go的安装目录
/home/guest/tools/go
├── api
├── AUTHORS
├── bin
├── blog
├── CONTRIBUTING.md
├── CONTRIBUTORS
├── doc
├── favicon.ico
├── lib
├── LICENSE
├── misc
├── PATENTS
├── pkg
├── README.md
├── robots.txt
├── src
├── test
└── VERSION
Go语言中的符号“<<”是什么意思?
左移运算符(<<)
将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0)。
例:a = a << 2 将a的二进制位左移2位,右补0,
左移1位后a = a * 2;
若左移时舍弃的高位不包含1,则每左移一位,相当于该数乘以2。
右移运算符(>>)
将一个数的各二进制位全部右移若干位,正数左补0,负数左补1,右边丢弃。
操作数每右移一位,相当于该数除以2。
例如:a = a >> 2 将a的二进制位右移2位,
左补0 or 补1 得看被移数是正还是负。
Go语言有什么优势?
GO语言的优势:可直接编译成机器码,不依赖其他库,glibc的版本有一定要求,部署就是扔一个文件上去就完成了。静态类型语言,但是有动态语言的感觉,静态类型的语言就是可以在编译的时候检查出来隐藏的大多数问题,动态语言的感觉就是有很多的包可以使用,写起来的效率很高。语言层面支持并发,这个就是Go最大的特色,天生的支持并发,我曾经说过一句话,天生的基因和整容是有区别的,大家一样美丽,但是你喜欢整容的还是天生基因的美丽呢?Go就是基因里面支持的并发,可以充分的利用多核,很容易的使用并发。内置runtime,支持垃圾回收,这属于动态语言的特性之一吧,虽然目前来说GC不算完美,但是足以应付我们所能遇到的大多数情况,特别是Go1.1之后的GC。简单易学,Go语言的作者都有C的基因,那么Go自然而然就有了C的基因,那么Go关键字是25个,但是表达能力很强大,几乎支持大多数你在其他语言见过的特性:继承、重载、对象等。丰富的标准库,Go目前已经内置了大量的库,特别是网络库非常强大,我最爱的也是这部分。内置强大的工具,Go语言里面内置了很多工具链,最好的应该是gofmt工具,自动化格式化代码,能够让团队review变得如此的简单,代码格式一模一样,想不一样都很困难。跨平台编译,如果你写的Go代码不包含cgo,那么就可以做到window系统编译linux的应用,如何做到的呢?Go引用了plan9的代码,这就是不依赖系统的信息。Go语言这么多的优势,你还不想学吗?我记得当时我看的是黑马程序员的视频,我对他们视频的印象就是通俗易懂,就是好!
go语言 python ruby,这三个怎么选择
这选择显然是因人而异的。。至于怎么选,要看你是初学者,还是老手?。。对性能有要求,还是没要求?
如果是完全没有基础,我建议哪个都不选,如果非要选一个,那就选PYTHON。。如果你是初学者,把网上的教程看个遍,再买上几本书。。。你所学会的也仅仅是语法,而根本不会编程。。。因为这些教程,也仅仅是教你语法,而没有教你编程。。你甚至把网上的教程看个精光,却连个最基本的OA系统都做不出来。。。只能在一个黑乎乎的控制台上,打印一堆破字符。。
-------网上的所有教程都会教你的:
怎么定义一个变量?怎么在控制台打印变量?
怎么写一个循环?怎么在控制台打印一堆变量?
怎么写一个函数?怎么在控制台打印返回值?
怎么创建一个对象?怎么在控制台打印对象属性?
------高级一点的教程,会教你的:
怎么用PYTHON的模块,写一个爬虫?
怎么用RUBY的ROR框架,获取一个表单?
怎么用GO的beego,写一个博客?
-------而这些的教程,从来不教你的:
面向对象有什么用? 委托是什么?事件是什么? 工厂模式,单例模式,观察者模式,这些都是啥?套接字是啥?UDP是啥?TCP/IP是啥?二叉树是什么玩意?状态机又是什么玩意?啥叫逆变?啥叫协变?啥叫异步?啥叫反射?
---------------------------------------------------------------------------------------------
如果一套教程,要把这些都讲明白。。。可能需要上千集。。。所以这些教程,都跳过了这些内容。。但如果你不明白这些,就根本学不会编程。。。如果你打算学一门语言,而手上只有几十集教程,外加三五本书。。。那你只能学会玩控制台。。。
所以初学者选择一门语言,首先要保证这门语言作为主要开发语言,常年被公司使用,这样才能真正学会编程。然而这三门语言都不具备这样的特点。它们通常都是被当成第二语言,做一些辅助开发的工作。其中Python只在极少数情况下,才被用来作为主要开发语言。至于Go与Ruby,我目前还没听说过它们有被当作主要开发语言的例子。我所推荐的是从C#和JAVA两者之间,二选一。。。学精其中一门之后,再来考虑PYTHON或GO作为第二语言。。。不然无论你选哪个,都几乎不可能靠一门语言找到工作。
师实战课:如何基于Go语言和Python语言从
首先,现在的编程语言是非常多的,例如C,C++,C#,JAVA,.NET,PHP等等。其实我们需要关注的就几种,如果是想搞底层开发的话,C肯定是最基本的编程语言,因为它基于是底层的算法和关系,需要强的逻辑思维能力和数学的基本功底,所以不是有强烈的爱好和天赋的话我感觉就别学了,但是如果搞嵌入式的话就必须要懂C,我当时学的就是JAVA。说到JAVA,他是企业级的开发语言,目前也是最为广泛的应用的语言,因为它的语言有好的移植性,语言的安全性和好的虚拟机平台做支持,如异常的加入大大给程序员的编程提供了便利。所以大公司对JAVA的软件工程师用人比较多,要求也较高。学起来入门较容易,但是如果想往这方面发展的话,经验很重要,如果有个平台可以实战的话,JAVA是个不错的选择,但个人感觉没有这方面的途径的话就算了,毕竟现在招人都要1到2年工作经验的。至于PHP是做页面的,做动态的页面功能较为强大。C开发平台是TURBO C,JAVA的有ECLIPSE,NETBEANS,JBUILDER都不错,ECLIPSE是IBM的,NETBEANS是SUN公司的,个人感觉IBM的还很好用。JAVA的编程效果就是现在企业级的网站,前台用JSP,后台用其他的框架进行整合,达到页面和后台数据库的交互。大概就这么多了吧,感觉单纯的JAVA语言应该是个入门语言,因为它是面向对象的,所以更容易理解,但是就业的话,就要学一些其他的框架比如STRUTS,SPRING,HIBERNATE等,所以JAVA语言只是基础,但如果从就业的情况来看的话,学历不高又没又经验的话,很难就业的,我现在就是这样,待业中。。我也不建议去培训机构学习,一是学费问题,二是时间问题,再就是现在培训机构都打着推100%荐就业,但其实就是骗人的把戏,我和几个同学就去培训了的,交钱的时候说的N好,学完了就扯这扯那的,真让人郁闷。以上就是我自己的一点对编程语言的感想和认识,希望对你有所帮助.