Go语言学习(一):hello world
每学一门语言,程序猿们总是不厌其烦地写一遍hello world,这篇就是Go语言的hello world。
Go语言的环境搭建建议参考《Go Web编程》的第一章:Go 环境配置,里面写得足够详细。如果觉得《Go Web编程》里面写得太繁琐,也可以看官网的Getting Started。
环境搭建好之后,就可以在GOPATH的目录下新建src、pkg、bin这三个目录了。这三个目录的用途如下:
- src:存放源代码
- pkg:存放编译后生成的文件,个人理解是类似于Java中存放jar包的lib目录。
- bin:存放编译后生成的可执行文件
在src目录下新建helloworld目录,类似于一个project的名称吧,当然,正规点的话就在src目录下新建com.XXX目录,然后在com.XXX目录下再新建helloworld目录。
在helloworld目录下新建helloworld.go文件,在文件中输入下面的代码:
?
package main
import "fmt"
func main() {
fmt.Printf("hello, world!n")
}
命令行窗口进入到helloworld目录,键入命令:go run helloworld.go,就会返回结果:
?
hello, world!
Go使用package来组织代码。代码中第一行package <pkgName>告诉我们当前文件属于哪一个包,而源码中的main则告诉我们它是一个可独立运行的包,它编译后会产生可执行文件。除了main包之外,其他包编译后会产生*.a文件(也就是包文件)并放置在$GOPATH/pkg/$GOOS_$GOARCH目录下(我的是:D:GO_DATApkgwindows_amd64)。
此外,每一个可独立运行的Go程序,必定包含一个package main,而且在这个main包中必定包含一个入口函数main,这个函数既没有参数,也买有返回值。
个人疑问,入口函数没有参数,那要写一个带外部参数的可运行程序该怎么写?举个例子,假如go这个程序是用Go语言写的,那么go这个程序的main函数如何获得命令行中的参数从而执行不同的操作,如上文的命令:“go run helloworld.go”。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android实现通讯录功能
- 教你用CentOS7下使用mktorrent制作PT种子
- 让 Python 的高阶函数支持链式调用[实用库/轮子]
- 解决了一个 Python Type Hints 的问题,分享一下
- Elasticsearch:flattened 数据类型 (7.3 发行版新功能)
- Android开发准确获取手机IP地址的两种方式
- Android网络请求-sign参数的设置方式
- Android使用自定义View实现横行时间轴效果
- Android Studio debug.keystore位置介绍
- Android 实现长按弹出PopupMenu 菜单栏
- Android开发获取手机Mac地址适配所有Android版本
- Android AIDL实现与服务相互调用方式
- Android获取超级管理员权限的实现
- Android Studio编写AIDL文件后如何实现自动编译生成
- Android 实现永久性开启adb 的root权限