安装

brew install go

国际惯例hello,world.

创建文件hello.go

go文件的main方法为函数的主入口,必须有这个方法。

hello.go

package main
import "fmt"
func main() {
fmt.Println("hello,go")
}

编译并运行文件

首先编译

go build hello.go

然后运行

go run hello.go

编译一次即可。

输入一个数字并运算

package main
import (
"fmt"
"math"
) func main() {
fmt.Println("Circle Area calculation")
fmt.Print("Enter a radius value: ")
var radius float64
fmt.Scanf("%f", &radius) #可以接受控制台输入的数字
area := math.Pi * math.Pow(radius,2)
fmt.Printf("Circle area with radius %.2f = %.2f \n", radius,area)
}

变量声明和赋值

package  main
import "fmt"
func main() {
// 声明变量,需要制定类型。
var str string
var n,m int
var mn float32 // 赋值
str="Hello World"
n=10
m=50
mn=2.45
fmt.Println("value of str= ",str)
fmt.Println("value of n=",n)
fmt.Println("value of m=",m)
fmt.Println("value of mn=",mn) // 声明变量并赋值
var city string="London"
var x int =10
fmt.Println("value of city=",city)
fmt.Println("value of x=",x) // 声明变量并赋默认值
contry :="DE"
contry="Hello"
val:=15
fmt.Println("value of contry",contry)
fmt.Println("value of val=",val)
/* 声明多个变量 */
var (
name string
email string
age int
)
name = "john"
email = "john@email.com"
age = 25
fmt.Println(name)
fmt.Println(email)
fmt.Println(age) }

加减乘除

package main
import "fmt"
func main() {
// declare variables
var a,b int
// assign values
a = 5
b = 10
// arithmetic operation
// addition
c:=a + b
fmt.Printf("%d + %d = %d \n",a,b,c)
// subtraction
d:=a - b
fmt.Printf("%d - %d = %d \n",a,b,d)
// division
e:=float32(a) / float32(b)
fmt.Printf("%d / %d = %.2f \n",a,b,e)
// multiplication
f:=a * b
fmt.Printf("%d * %d = %d \n",a,b,f)
}

数学运算

package main
import (
"fmt"
"math"
) func main() {
a := 2.4
b := 1.6
c := math.Pow(a,2)
fmt.Printf("%.2f^%d = %.2f \n",a,2,c) c = math.Sin(a)
fmt.Printf("Sin(%.2f) = %.2f \n",a,c) c = math.Cos(b)
fmt.Printf("Cos(%.2f) = %.2f \n",b,c) c = math.Sqrt(a*b)
fmt.Printf("Sqrt(%.2f*%.2f) = %.2f \n",a,b,c) }

条件语句if

package main
import "fmt"
func main() {
var (
a=5
b=8
)
/*
if{ #这个花括号必须紧邻if
do something
}else{ #else前后紧邻}和{
do something
}
}
*/
if a>b || a-b<a {
fmt.Println("condtional-->a>b || a-b<a")
}else{ fmt.Println("...another")
}
}

自增和自减

package main
import "fmt"
func main() {
// declare variables
var a = 4 // increment
fmt.Printf("a = %d \n",a)
a=a+1
fmt.Printf("a+1 = %d \n",a)
a++
fmt.Printf("a++ = %d \n",a) // decrement
a = a - 1
fmt.Printf("a - 1 = %d \n",a)
a--
fmt.Printf("a-- = %d \n",a) }

switch..case

/*
switch option{
case option1:
// do option1 job
case option2:
// do option2 job
}
*/
package main import "fmt" func main() {
selected := 2
switch selected{
case 0:
fmt.Println("selected = 0")
case 1:
fmt.Println("selected = 1")
default:
fmt.Println("other..") } }

for循环

/*
for initialization;condition;increment/decrement{ }
*/
package main import "fmt" func main() { // iteration -for
var i int
for i=0;i<5;i++{
fmt.Println(i)
} for j:=5;j<11;j++{
fmt.Println(j)
}
}

go学习笔记的更多相关文章

  1. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  2. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  3. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  4. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

  5. JAVA GUI编程学习笔记目录

    2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...

  6. seaJs学习笔记2 – seaJs组建库的使用

    原文地址:seaJs学习笔记2 – seaJs组建库的使用 我觉得学习新东西并不是会使用它就够了的,会使用仅仅代表你看懂了,理解了,二不代表你深入了,彻悟了它的精髓. 所以不断的学习将是源源不断. 最 ...

  7. CSS学习笔记

    CSS学习笔记 2016年12月15日整理 CSS基础 Chapter1 在console输入escape("宋体") ENTER 就会出现unicode编码 显示"%u ...

  8. HTML学习笔记

    HTML学习笔记 2016年12月15日整理 Chapter1 URL(scheme://host.domain:port/path/filename) scheme: 定义因特网服务的类型,常见的为 ...

  9. DirectX Graphics Infrastructure(DXGI):最佳范例 学习笔记

    今天要学习的这篇文章写的算是比较早的了,大概在DX11时代就写好了,当时龙书11版看得很潦草,并没有注意这篇文章,现在看12,觉得是跳不过去的一篇文章,地址如下: https://msdn.micro ...

  10. ucos实时操作系统学习笔记——任务间通信(消息)

    ucos另一种任务间通信的机制是消息(mbox),个人感觉是它是queue中只有一个信息的特殊情况,从代码中可以很清楚的看到,因为之前有关于queue的学习笔记,所以一并讲一下mbox.为什么有了qu ...

随机推荐

  1. Docker笔记一:Docker介绍

    目录 什么是Docker? Docker的核心概念 Docker镜像命令 Docker容器命令 Docker实战 查看我的镜像 启动Redis Docker中国镜像加速 血与泪的教训 什么是Docke ...

  2. HTTP Method小结

    GET 从指定的url上获取内容 POST 提交body中的内容给服务器中指定的url中,属于非幂等的(non-idempotent)请求 HEAD 从指定的url上获取header内容(类似Get方 ...

  3. jQuery克隆html元素并改变id

    如题,前端操作经常需要ajax异步刷新html页面数据.有时候js里面拼接html代码很麻烦. 因此选择一个div克隆并改变一些值就省了很多事.这个div也可以提前写在html里面hide() 下面是 ...

  4. spring boot集成redis的血泪史

    首先说明环境不是我搭建的,然后因项目需要添加redis的时候,麻烦来了.springboot 用的是1.5.9因为以前弄过redis,所以直接拿过来,麻烦了首先是莫名的错误,连项目都启动不了.但是最后 ...

  5. 【leetcode-73】 矩阵置零

    给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0.请使用原地算法. 示例 1: 输入: [   [1,1,1],   [1,0,1],   [1,1,1] ] 输 ...

  6. MysqL_select for update锁详解

    先来举一个在某些应用场景下会出现数据不一致的例子,当然存储引擎是InnoDB(至于为什么,后面再告诉你). 电商平台常见的下单场景: 一般商品表(goods)有基本的四个字段,id(主键),goods ...

  7. MVC 5 Scaffolder + EntityFramework+UnitOfWork Pattern 代码生成工具

    MVC 5 Scaffolder + EntityFramework+UnitOfWork Pattern 代码生成工具集成Visual Studio 2013 MVC 5 Scaffolder + ...

  8. 【由浅入深理解java集合】(五)——集合 Map

    前面已经介绍完了Collection接口下的集合实现类,今天我们来介绍Map接口下的两个重要的集合实现类HashMap,TreeMap.关于Map的一些通用介绍,可以参考第一篇文章.由于Map与Lis ...

  9. 万能五笔输入法"@相反

    经过查找资料,发现是因为键盘使用的英国导致,改为美国解决,其他输入法没发现这个问题.

  10. 10 Tips for Writing Better Code (阅读理解)

    出发点 http://www.tuicool.com/articles/A7VrE33 阅读中文版本<编写质优代码的十个技巧>,对于我编码十年的经验,也有相同感受, 太多的坑趟过,太多的经 ...