Golang 初体验

最近来到新的公司实习,而公司百分之90的代码都由golang 构成 对于之前只接触过java的我来说,这几天一直在恶补 (其实也是在照着官方文档 对于后续的一些go的小任务分配到我,我也可以试着总结一下)

Golang 初体验

主要资料来源
Golang 官网:https://golang.org/doc/

Go 简介:
The Go programming language is an open source project to make programmers more productive(生产力).

环境配置 :
环境配置是go一个让人头疼的问题 (至少昨天一天的体验很难受)
(根据官网参考)
IDE选择

  1. vscode 全公司几乎都在用 但是我用了一天难受的不行
  2. GoLang 熟悉的操作方式 有待体验 刚下载完成
    有待后续补充
  Hello World
    package main
    
    import (
       "fmt"
    )
    
    //     hello world
    
    func main() {
       fmt.Println("hello, world!")
    }

注意: 仅当package为main时 该main方法才为可执行程序入口
tips : go的基本单位为包 其中分为工作s空间 本地仓 和 包
go语言不像java 使用长包名确认其地址 只需要引入上一层包地址即可
go 中对于一个.go文件的命名没有类似java中首字母大写的驼峰规范 只需要在不同单词之间用 “_” 隔开即可。

Effctive Go (地址 官网:https://golang.org/doc/effective_go.html)
类似 Effctive in java 相对来说有很多基础语法点 和开发指导,适合新手阅读
fmt 格式化:
Go比C和Java需要更少的括号:控制结构(如果,for, switch)的语法中没有括号。此外,操作符优先级层次结构很短,并且简介
//类似于
x<<5 + y<<9

注释Commentary:

  1. /* */ 类似c
  2. // 类似 c++
    每个包都应该有一个包注释,包子句之前有一个块注释。对于多文件包,包注释只需要出现在一个文件中,任何一个文件都可以。包注释应该介绍包并提供与整个包相关的信息。它将首先出现在godoc页面上,并且应该设置后面的详细文档。
    方便理解中 go的源代码中
    对于代码段的使用/* */ 对于其他逻辑注释使用 //
    待学习: go 分组的使用

name:
Names are as important in Go as in any other language 官方文档原话!
package name
包名要做到简洁自然,且对于上一层有的信息 该层默认包含 意味着命名是要把握名字的含义范围
getters
go没有提供getters的方法,且提倡直接使用属性方法代替get属性方法的命名
如果有必要可以自定义setter方法 set+属性名
owner := obj.Owner() // getters 方法命名
if owner != user {
obj.SetOwner(user) // settings 方法命名
}

  1. Interface Name
    按照惯例,单方法接口由方法名加上-er后缀或类似的修饰来命名,以构造代理名词:Reader、Writer、Formatter、CloseNotifier等
    调用String -converter方法String而不是ToString。
  2. MixedCaps
    Finally, the convention in Go is to use MixedCaps or mixedCaps rather than underscores to write multiword names.
    推荐驼峰不推荐类似数据库的下划线方式 (尽量采用上述命名方式)
    Semicolons
    Like C, Go’s formal grammar uses semicolons to terminate statements, but unlike in C, those semicolons do not appear in the source.
    If the last token before a newline is an identifier
    对于循环中保留分号习惯仍然可以保存
    对于这样来说 有一个坏处如下
    if x > 0 {   // right
        return y
    } 
    
    if x > o
    {            //wrong!
        return y 
    }
  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值