将想要的状态,
以“彩色”在大脑中呈现!

Go语言的主要特征以及常见问题与对应解决方案

优点

  • 自带gc。

  • 静态编译,编译好后,扔服务器直接运行。

  • 简单的思想,没有继承,多态,类等。

  • 丰富的库和详细的开发文档。

  • 语法层支持并发,和拥有同步并发的channel类型,使并发开发变得非常方便。

  • 简洁的语法,提高开发效率,同时提高代码的阅读性和可维护性。

  • 超级简单的交叉编译,仅需更改环境变量。

  • Go 语言是谷歌 2009 年首次推出并在 2012 年正式发布的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去10多年间软件开发的难度令人沮丧。Google 对 Go 寄予厚望,其设计是让软件充分发挥多核心处理器同步多工的优点,并可解决面向对象程序设计的麻烦。它具有现代的程序语言特色,如垃圾回收,帮助开发者处理琐碎但重要的内存管理问题。Go 的速度也非常快,几乎和 C 或 C++ 程序一样快,且能够快速开发应用程序。

Go语言的主要特征:

1.自动立即回收。
2.更丰富的内置类型。
3.函数多返回值。
4.错误处理。
5.匿名函数和闭包。
6.类型和接口。
7.并发编程。
8.反射。
9.语言交互性。

Go语言命名

  1. Go的函数、变量、常量、自定义类型、包(package)的命名方式遵循以下规则:
    • 首字符可以是任意的Unicode字符或者下划线
    • 剩余字符可以是Unicode字符、下划线、数字
    • 字符长度不限
  2. Go只有25个关键字
    break        default      func         interface    select
    case         defer        go           map          struct
    chan         else         goto         package      switch
    const        fallthrough  if           range        type
    continue     for          import       return       var
  3. Go还有37个保留字

    Constants:    true  false  iota  nil
    
    Types:    int  int8  int16  int32  int64  
              uint  uint8  uint16  uint32  uint64  uintptr
              float32  float64  complex128  complex64
              bool  byte  rune  string  error
    
    Functions:   make  len  cap  new  append  copy  close  delete
                 complex  real  imag
                 panic  recover

Go语言声明

有四种主要声明方式:

    var(声明变量), const(声明常量), type(声明类型) ,func(声明函数)。

Go的程序是保存在多个.go文件中,文件的第一行就是package XXX声明,用来说明该文件属于哪个包(package),package声明下来就是import声明,再下来是类型,变量,常量,函数的声明。

Go项目构建及编译

一个Go工程中主要包含以下三个目录:

src:源代码文件
pkg:包文件
bin:相关bin文件

详细步骤:

  1. 建立工程文件夹 goproject

  2. 在工程文件夹中建立src,pkg,bin文件夹

  3. 在GOPATH中添加projiect路径 例 e:/goproject

  4. 如工程中有自己的包examplepackage,那在src文件夹下建立以包名命名的文件夹 例 examplepackage

  5. 在src文件夹下编写主程序代码代码 goproject.go

  6. 在examplepackage文件夹中编写 examplepackage.go 和 包测试文件 examplepackage_test.go

  7. 试包
    go build examplepackage
    go test examplepackage
    go install examplepackage
    这时在pkg文件夹中可以发现会有一个相应的操作系统文件夹如windows_386z, 在这个文件夹中会有examplepackage文件夹,在该文件中有examplepackage.a文件

  8. 主程序
    go build goproject.go
    成功后会生成goproject.exe文件
    至此一个Go工程编辑成功。

编译常见问题及终极解决方案

  1. 统编译时 go install abc_name时,系统会到GOPATH的src目录中寻找abc_name目录,然后编译其下的go文件;

  2. 一个目录中所有的go文件的package声明必须相同,所以main方法要单独放一个文件,否则在eclipse和liteide中都会报错;
    编译报错如下:(假设test目录中有个main.go 和mymath.go,其中main.go声明package为main,mymath.go声明packag 为test);
    $ go install test
    can't load package: package test: found packages main (main.go) and test (mymath.go) in /home/wanjm/go/src/test

    报错说 不能加载package test(这是命令行的参数),因为发现了两个package,分别时main.go 和 mymath.go;
  3. 于main方法,只能在bin目录下运行 go build path_tomain.go; 可以用-o参数指出输出文件名;

  4. 以添加参数 go build -gcflags "-N -l" ****,可以更好的便于gdb;详细参见 http://golang.org/doc/gdb

  5. db全局变量主一点。 如有全局变量 a;则应写为 p 'main.a';注意但引号不可少;

  6. 一般新手都会遇到找不到路径或者引入资源路径找不到的问题,请使用GoLang这个IDE,可以避免踩很多的坑

赞(0)
未经允许不得转载:自猿其说 » Go语言的主要特征以及常见问题与对应解决方案

评论 抢沙发

评论前必须登录!

 

聚合实用在线工具

前往在线工具