Go语言入门

近来换工作,中途休息了下,休来无事,就学了下最近比较热门的Go语言。

Go语言相对比较简单,与C语言有点像,所以在有C基础的情况下,再学习下Go的特性,基本就懂得怎么写了,学起来不会像Scala那么痛苦,太多的特性及语法糖。Go奉行的“大道至简”的设计理念,这个理念一直贯穿语言的每个细节,为学习及开发提供了很多便利。

下面我们来通过一个最基础的Hello World程序来认识这门语言

package main
import (
     "fmt"
)

func main() {
     fmt.Println("Hello World")
}

通过上面的代码,我们已经大致了解了Go语言,接下来我们来了解下Go语言的基础知识。 1、Go内置关键字(25个均为小写)

  • var :变量声明
  • const :常量声明
  • package :包定义
  • import :包导入
  • func :定义函数和方法
  • return :从函数返回
  • defer :在函数退出之前执行
  • type :声明自定义类型及接口
  • map :声明map类型数据
  • range :遍历读取slice、map、channel数据
  • interface :定义接口
  • struct :定义抽象数据类型
  • go : 并行
  • chan :channel类型定义
  • select :选择不同类型的通讯
  • break、case、continue、for、fallthrough、else、if、switch、goto、default:流程控制

2、Go注释方法(与其它语言基本类似)

  • // 单行注释
  • /**/ 多行注释

3、Go程序的一般结构

我们将上面的Hello World程序进行扩展与注释来演示

//定义程序所属的包,包跟源码的位置没有关系,仅跟编译后的文件有关系
//package语句必须放在非注释的第一行
package main

//导入要使用包,可以直接使用import "包名"的方式来导入,但使用import ()
//方式可以在导入多个包时,省写import,另var、const等也支持这种写法
import (
     "fmt"
)

//定义常量
const PI float64 = 3.14

//定义变量
var Word string = "Hello World"

//定义结构
type MyStruct struct{}

//定义接口
type MyInterface interface{}

//定义函数,这里定义的main为Go的预留函数,仅在main package中可以定义,
//一个项目中仅允许有一个main方法,如果有多个,项目的build将无法通过,但
//是可以通过go run来单独运行某个文件
func main() {
     //使用fmt包中的Println方法打印到控制台,到这里,我们发现不管在哪里,
     //Go使用换行来结束一行,而不是使用;
     fmt.Println(Word)
     fmt.Println("PI = ", PI)
}

4、可见性规则

使用大小写来决定该常量、变量、类型、接口、结构或函数是否可以被外部包所调用 即小写为private,大写即为public,简单明了。 至此Go的入门知识就大致介绍完了,后续博文还会对Go语言的其它知识点做介绍。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何让超出块级元素的内容使用省略号代替?

    _simple
  • golang控制台字体的不同显示

    _simple
  • 使用Docker命令如何启动服务?

    如果出现错误net/http: TLS handshake timeout,将http://d1d9aef0.m.daocloud.io/添加到daemon

    _simple
  • Go的语言特性总结

    写在前面: 近来关于对Golang的讨论有很多,七牛的几个大牛们也断定Go语言在未来将会快速发展,并且很可能会取代Java成为互联网时代最受欢迎的编程语言。G...

    李海彬
  • GOLANG在中国流行起来

    Go能在中国快速流行起来可能存在的原因有: 1、越来越多的公司基于Golang开发产品,因为它非常强大的网络服务编写能力。 这些公司在高速发展的同时,Golan...

    春哥大魔王
  • 【从零开始学习Go语言】一.初识Go语言

    Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。

    一只特立独行的兔先生
  • JFrog首席技术官兼联合创始人Yoav Landman讨论GoCenter对开发者的重要性

    Yoav Landman是JFrog的首席技术官和联合创始人,与CNCF讨论有关GoCenter。

    CNCF
  • 谷歌软件工程师:我为什么喜欢用Go语言?

    Go语言最近几年逐渐获得越来越多的开发者的喜欢。在Go社区前不久刚刚庆祝Go诞生10周年生日之际,谷歌云软件工程师Benjamin Congdon发表个人博客,...

    CDA数据分析师
  • 【Go 语言社区】七牛首席布道师:Go不是在颠覆,就是在逆袭-转

    七牛首席布道师:Go不是在颠覆,就是在逆袭--转 文章来源:http://www.csdn.net/article/2014-07-21/2820743 七牛...

    李海彬
  • google舍弃java?android上层应用或采用Go语言

    摘要 Go语言是谷歌2009发布的第二款开源编程语言。Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且...

    李海彬

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动