01-go语言开始-HelloWorld
以输出HelloWorld为目标
Go的发展史
Go语言诞生(2007年的谷歌)的背景是由于软件开发的新挑战:
- 多核硬件架构
- 超大规模分布式计算集群
- Web模式导致的前所未有的开发规模和更新速度
Go的特点:
- 简单,关键字很少,只有25个
- 高效
- 生产力(复合)
- 云计算语言
- 区块链语言
安装和运行HelloWorld
吐槽一下,就这一个HelloWorld我花了大概一个多小时的时间,可能笔者比较笨,哭泣.反正就是各种运行失败, 笔者在go安装完成之后,习惯使用jetbrains的产品,所以下载了golang编辑器,之后就开始使用,建议安装的时候选中64位,还有默认使用它打开.go,最后把右边那个勾上,记不清是啥了,之后在创建一个文件夹,表示以后的go项目和案例都在这个文件夹下,接下来,别着急,在新建的文件夹下创建一个src文件夹,别问我,我也不知道为啥,笔者是java出身的,之后使用golang创建项目创建在这个src下就可以了.
创建好了之后,就可以新建一个文件,正式开始编码,笔者创建HelloWorld.go,代码内容如下:
package main
import "fmt"
func main() {
fmt.Println("Hello World")
}
然后右键运行,或者ctrl+shift+F10,运行就可以.就是这么简单,笔者在实验过程中一直犯错,难受,香菇.不过总算是弄出来了.
程序结构
- 包
package main
- 引入依赖
import "fmt"
- 功能实现
func main() {
fmt.Println("Hello World")
}
注意事项有三点:
- 必须是main包,但是文件目录不必是main,也就是package main是固定的,否则会报错
- 必须是main方法,这个与java相同,func main()
- 文件名不一定是main.go,这个go语言没有类的概念? 迷茫
实验:
- 在该项目下重新建个包,复制一份HelloWorld到新包下,还是能正常运行的(在Java中是需要修改包路径的,这个需要注意与Java不同)
- 退出返回值
- Go中main函数不支持任何返回值
- 通过os.Exit来返回状态(os.Exit(0)表示正常退出,感觉就是手动抛异常)
- 获取命令行参数
- main函数不支持传入参数
- 在程序中直接通过os.Args获取命令行参数
package main
import (
"fmt"
"os"
)
func main() {
if len(os.Args) > 1{
fmt.Println("Hello World, " + os.Args[1])
}
}
使用命令行运行: go run Hello_World.go wangzhi,就可以看到结果了
初次接触go,写的有点乱,日常笔记,不正确之处还请指正
01-go语言开始-HelloWorld的更多相关文章
- Rust语言之HelloWorld Web版
Rust语言之HelloWorld Web版 下面这篇文章值得仔细研读: http://arthurtw.github.io/2014/12/21/rust-anti-sloppy-programmi ...
- Rust语言之HelloWorld
Rust语言之HelloWorld 参考文档: http://doc.crates.io/guide.html 1 什么是Cargo 相当于maven/ant之于java, automake之于c, ...
- 01 C语言程序设计--01 C语言基础--第1章 C语言概述&第2章 GCC和GDB
走进嵌入式开发的世界,企业级项目课程让你达到企业嵌入式应用开发要求.名师在线答疑,解决疑难.科学评测体系,系统评估学习.核心项目实........ 30 门课程 241小时12分钟 824 人学习 学 ...
- 01 C语言程序设计--01 C语言基础--第3章 基本数据类型01
01.1.3.1序言 00:02:17 01.1.3.2 C语言中的基本元素和常量的概念 00:08:54 01.1.3.3示例--常量 00:12:08 01.1.3.4变量的概念和命名规则 00: ...
- 从小白到区块链工程师:第一阶段:Go语言的HelloWorld初始(2)
四.写下第一段Go语言代码“Hello World” 小建议:就是文件夹路径或者文件名称不要出现中文,可能会导致一些不必要的麻烦(编译失败) 在sublime中,我们在src文件夹上面,单击右键“Ne ...
- Go语言学习笔记(一) [Go语言的HelloWorld]
日期:2014年7月18日 1.简介 Go 编程语言是一个使得程序员更加有效率的开源项目.Go 是有表达力.简 洁.清晰和有效率的.它的并行机制使其很容易编写多核和网络应用,而新奇的类型系 ...
- macbook下 go 语言的 helloworld
go语言开发的目录 一般go语言$GOPATH 目录约定有三个子目录: src 存放源代码(比如:.go .c .h .s等) pkg 编译后生成的文件(比如:.a) bin 编译后生成的可执行文件( ...
- Java语言输出HelloWorld
1.新建一个名为HelloWorld.txt的文本文件. 2.将HelloWorld.txt改为.java. 3.将HelloWorld.java用文本文件的方式打开,并输入代码. 4.打开命令行,进 ...
- 1.go语言入门----Helloworld与包引用
HelloWorld与包引用 学习一门语言的惯例都是从helloworld开始,go语言也不例外 在gopath下的src中创建一个helloworld目录,创建main.go文件 package m ...
随机推荐
- Multi account chang login with multi -thread
void worker_DoWork(object sender, DoWorkEventArgs e) { isBussy = true; if (Common.isChangingAccount) ...
- 20155325 Exp6 信息搜集与漏洞扫描
实践目标 掌握信息搜集的最基础技能与常用工具的使用方法. 实践内容 (1)各种搜索技巧的应用 (2)DNS IP注册信息的查询 (3)基本的扫描技术:主机发现.端口扫描.OS及服务版本探测.具体服务的 ...
- MFC Timer定时器
知识点: 定时器Timer 创建定时器 销毁定时器 代码测试 一. 创建定时器 UINT SetTimer( HWND hWnd, // 指定关联定时器的窗口句柄,在MFC版将省略此参数 UINT n ...
- mfc CImageList和CListCtrl
知识点: CImageList类的运用 CListCtrl添加图标 一.CImageList CImageList*SetImageList(CImageList*pImageList,int nIm ...
- centos7 部署 nginx+tomcat+MariaDB 环境并安装安全狗,使用natapp隧道
jdk安装: -openjdk 参考:https://blog.csdn.net/dhr201499/article/details/81626466 tomcat安装: 使用版本:8.5.37 参考 ...
- 用10分钟,搭建图像处理编程环境,0失败!(python语言,windows系统)
以前,你可能看过很多的文章,开始搭建一个图像处理的编程环境. 结果,按照教程一步一步做的时候,总是出现各种各样的问题. 就算成功了,后续开发过程中要用到不同版本的opencv,不同版本python,更 ...
- 【Alpha】第八次Scrum meeting
今日任务一览: 姓名 今日完成任务 所耗时间 刘乾 学习js并学会使用js读写xml文件.学习python读取xml的方式... 然后上午满课,下午从1点到10点当计组助教去沙河教了一下午+一晚上,所 ...
- java 面试 心得
16. ArrayList list = new ArrayList(20);中的list扩充几次() A 0 B 1 C 2 D 3 答案:A 解析:这里有点迷惑人,大家都 ...
- Alpha 冲刺报告模板
Alpha 冲刺报告模板 Deadline: 十分钟左右站立会议,控制好时间,不要在此会议上讨论细节问题. 每组一份博客,组内共享,每人都需提交. 模板 队名:xxx 组员1(组长) 今天完成了哪些任 ...
- 单片机pc指针
单片机的PC是指程序计数器(Program Counter).程序计数器PC用于存放下一条将要执行的指令地址,是一个16位专用寄存器,不能通过MOV指令来操作,对用户来说是不可见的.当执行一条指令时, ...