-
学以致用查看全部
-
gogogogogo查看全部
-
gogogo查看全部
-
-v:列出被编译的代码包的名称 -work: 显示编译时创建的临时工作目录的路径,并且不删除它 -x: 打印编译过程中所需运行的命令 -n;打印编译过程中所需的命令,但并不执行 -x:打印编译过程中所需的命令,并执行他们。查看全部
-
-a:强制编译相关代码,不论它们的编译结果是否已是最新的 -n:打印编译过程中所需运行的命令,但不真正执行它们 -p n:并行编译,其中n为并行的数量查看全部
-
Go语言的优势: 1.脚本化的语法;开发效率高,容易上手 2.静态类型+编译型,程序运行速度有保障;静态类型+编译型语言相对于动态类型+解释型语言的效率高 3.原生的支持并发编程;降低开发、维护成本/程序可以更好的执行 Go语言的劣势: 1.语法糖并没有Python和Ruby多; 2.目前的程序运行速度还不及C;比C++、java快 3.第三方函数库暂时不像绝对主流的编程语言那样多;查看全部
-
gopath可以保存多个工作目录,用分号分隔查看全部
-
通道(Channel)是Go语言中一种非常独特的数据结构。它可用于在不同Goroutine之间传递类型化的数据,并且是并发安全的。 cc qqqq aaa tttt777查看全部
-
方法的接收者标识符所代表的是该方法当前所属的那个值的一个副本,而不是该值本身。例如,在上述代码中,Person类型的Grow方法的接收者标识符person代表的是p的值的一个“拷贝”,而不是p的值。我们在调用Grow方法的时候,Go语言会将p的值复制一份并将其作为此次调用的当前值。正因为如此,Grow方法中的person.Age++语句的执行会使这个副本的Age字段的值变为34,而p的Age字段的值却依然是33。这就是问题所在。 只要我们把Grow变回指针方法就可以解决这个问题。原因是,这时的person代表的是p的值的指针的副本。指针的副本仍会指向p的值。另外,之所以选择表达式person.Age成立,是因为如果Go语言发现person是指针并且指向的那个值有Age字段,那么就会把该表达式视为(*person).Age。查看全部
-
3-12 go get 常用标记的使用 -d : 只执行下载动作,而不执行安装动作 -fix : 在下载代码包后先执行修正动作,而后再进行编译和安装 比如将旧版本的代码包修正编译成当前使用的版本 -u : 利用网络来更新已有的代码包及其依赖包查看全部
-
3-10 go get 命令简介 用于从远程代码仓库(如Github、GitLab)上下载并安装代码包 接受支持的代码版本控制系统有:Git、Mercuril(hg)、SVN、Bazaar 指定的代码包会被下载到$GOPATH中包含的第一个工作区的src目录中查看全部
-
3-8 go install 命令简介 用于编译并安装代码包或源代码文件? (为什么要安装源码文件?) 安装代码包会在当前工作区的 'pkg/<平台相关目录>'下生成'归档文件' 安装命令源码文件会在当前工作区的'bin'目录或 $GOBIN 目录下生成'可执行文件' * 执行该命令且不追加任何参数时,它会试图把当前目录作为代码包并安装 * 执行该命令且以代码包的导入路径作为参数时,该代码包及其依赖会被安装 * 执行该命令且以命令源码文件及相关库源码文件作为参数时,只有这些文件会被编译并安装查看全部
-
用于编译'源码文件'或'代码包' 编译非命令源码文件不会产生任何结果文件 编译命令源码文件会在该命令的执行目录中生成一个可执行文件 执行该命令且不追加任何参数时,它会试图把当前目录作为代码包编译 执行该命令且以代码包的导入路径作为参数时,该代码包及其依赖会被编译 加入-a标记后所有涉及到的代码包都会被重新编译 不加入-a标记,则只会编译归档文件不是最新的代码包 执行该命令且以若干源码文件作为参数时,只有这些文件会被编译查看全部
-
概念性的东西查看全部
-
若我们想要初始化一个长度为5且元素类型为int的通道值,则需要这样写: make(chan int, 5) 接收操作符<-向通道值发送数据 ch1 <- "value1" 直接把接收到的字符串赋给一个变量 value := <- ch1 value, ok := <- ch1 关闭通道值 close(ch1) 最后,与切片和字典类型相同,通道类型属于引用类型。它的零值即为nil。查看全部
举报
0/150
提交
取消