Go语言保证了既能达到静态编译语言的安全和性能,又能达到动态语言开发维护的高效率;相当于Go=C+Python,说明Go语言既有C静态语言程序的运行速度,又能达到Python动态语言的快速开发。
//go 语言的指针的使用特点:
func testPtr(num *int) {
*num=20
}
package main //一个go文件需要在一个包;
import “fmt”
func sayok() {
//输出一句话
fmt.Println("ok")
}
//写一个函数,实现同时返回 和,差;
//go 函数支持返回多个值;
func getSumAndSub(n1 int,n2 int) (int,int) {
sum := n1 + n2 //go 语言后面不要带分号;
sub := n1 - n2
return sum , sub
}
6)新的创新,比如切片 slice,延时执行 defer;
到下载地址选择适合自己系统的VSCode安装软件:
https://code.visualstudio.com/download
安装到D盘指定路径,安装即可使用。
在实际开发中,可以在windows开发好程序,然后部署到linux下。
GOROOT:指定SDK的安装路径D:\golang\go1.9.2.windows-amd64\go;
Path:添加SDK的/bin目录;%GOROOT%\bin;
GOPATH:工作目录,将来我们的go项目的工作路径D:\gocode;
3)打开DOS命令测试
C:\Users\Administrator>go version
go version go1.9.2 windows/amd64
linux下配置环境变量
vim /etc/profile
export GOROOT=/opt/go
export PATH=$PATH:$GOROOT/bin
export GOPATH=$HOME/goproject
source /etc/profile
D:\gocode>go run hello.go
hello,world
D:\gocode>hello.exe
hello,world
2)编译执行(一步较慢)
D:\gocode>hello.exe
hello,world
3)两种执行流程的方式区别
① 如果先编译生成了可执行文件,那么可以将该可执行文件拷贝到没有go开发环境的机器上,仍然可以执行;
② 如果是通过go run直接执行go源代码,那么如果要在另外一个机器上这么运行,也需要go开发环境,否则无法执行;
③ 在编译时,编译器会将程序运行依赖的库文件包含在可执行文件中,所以,可执行文件变大了很多。
1)\t:表示一个制表符,通常使用它排版;
2)\n:换行符;
3)\:表示一个\
4)\":表示一个"
5)\r:表示一个回车
D:\gocode>go run test01.go
张飞厉害雪山飞狐
案例:
D:\gocode>go run test02.go
姓名 年龄 籍贯 住址
john 12 河北 北京
// 注释内容
/*
注释内容
*/
举例:
var num = 2 + 4 * 5
func main() {
fmt.Println("hello,world!")
}
错误的写法:
func main()
{
fmt.Println("hello,world!")
}
一行最长不超过80个字符,超过的使用换行展示,保持格式优雅
运行输出还是一行:
package main
import "fmt"
func main() {
//fmt.Println("hello,world!")
fmt.Println("helloworldhelloworldhelloworldhellow",
"orldhelloworldhelloworldhelloworldhelloworldhell",
"oworldhelloworldhelloworldhelloworldhelloworldhe",
"lloworldhelloworldhelloworldhelloworldhelloworldh",
"elloworldhelloworldhelloworld")
}
运行输出以分割的样式展示:
package main
import "fmt"
func main() {
//fmt.Println("hello,world!")
fmt.Println("helloworldhelloworldhelloworldhellow\n",
"orldhelloworldhelloworldhelloworldhelloworldhell\n",
"oworldhelloworldhelloworldhelloworldhelloworldhe\n",
"lloworldhelloworldhelloworldhelloworldhelloworldh\n",
"elloworldhelloworldhelloworld")
}
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。