分享
  1. 首页
  2. 文章

Go语言1-入门

zjl103 · · 2556 次点击 · · 开始浏览
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

近来换工作,中途休息了下,休来无事,就学了下最近比较热门的Go语言。
Go语言相对比较简单,与C语言有点像,所以在有C基础的情况下,再学习下Go的特性,基本就懂得怎么写了,学起来不会像Scala那么痛苦,太多的特性及语法糖。Go奉行的"大道至简"的设计理念,这个理念一直贯穿语言的每个细节,为学习及开发提供了很多便利。
这里给大家推荐无闻(unknow)录制的《Go编程基础》,作者很用心及谦虚,本人也阅读过许式伟的《Go语言编程》,相比两者,我认为前者更好。接下来的几篇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语言的其它知识点做介绍。

无闻(unknow)《Go编程基础》
许式伟的 《Go语言编程》


有疑问加站长微信联系(非本文作者)

本文来自:CSDN博客

感谢作者:zjl103

查看原文:Go语言1-入门

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

关注微信
2556 次点击 ∙ 1 赞
添加一条新回复 (您需要 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传

用户登录

没有账号?注册
(追記) (追記ここまで)

今日阅读排行

    加载中
(追記) (追記ここまで)

一周阅读排行

    加载中

关注我

  • 扫码关注领全套学习资料 关注微信公众号
  • 加入 QQ 群:
    • 192706294(已满)
    • 731990104(已满)
    • 798786647(已满)
    • 729884609(已满)
    • 977810755(已满)
    • 815126783(已满)
    • 812540095(已满)
    • 1006366459(已满)
    • 692541889

  • 关注微信公众号
  • 加入微信群:liuxiaoyan-s,备注入群
  • 也欢迎加入知识星球 Go粉丝们(免费)

给该专栏投稿 写篇新文章

每篇文章有总共有 5 次投稿机会

收入到我管理的专栏 新建专栏