【Go语言】Go语言版HelloWorld分析

昨晚匆匆忙忙写了一个Go语言版的HelloWorld,也没有对代码进行一下分析,现在将代码贴出来,简单分析一下Go语言的语法。

//mq_go_20140626projectmain.go
package main
//类似JAVA,要引入相关包fmt
import(
 "fmt"
)
var()
const()
funcf(){}
//main函数,程序入口
func  main(){
//调用fmt包中的Println()函数

 fmt.Println("HelloWorld!")
 fmt.Println("我是刘凯宁")

 fmt.Println(s)
}
const s=`//mq_go_20140626projectmain.go
packagemain
//类似JAVA,要引入相关包fmt
import(
  "fmt"
)
var()
const()
funcf(){}
//main函数,程序入口
funcmain(){
//调用fmt包中的Println()函数
 fmt.Println("HelloWorld!")
 fmt.Println("我是刘凯宁")
 fmt.Println(s)
}`

 

语法总结:

1、package main :main包,Go程序必须要有main包的main函数,这是整个程序的入口
2、Go和java类似,写之前都要引入一些包,此处引入的是”fmt”包,这个包提供了标准的输入输出函数,比如fmt.Println( ),fmt.Printf( ) ,fmt.Scanf( )等等,具体用法下面介绍3、var 定义变量,const定义常量。
4、注意每一句后面么有分号,这一点很奇怪啊真的很奇怪
5、和C语言类似,Go语言的fmt.Printf( )表示标准输出函数,可以在“ ”内直接输出字符串,也可以用%d %f等输出相关类型的变量,学过C语言的都会
6、Go语言也有fmt.Scanf( )标准输入函数
7、const 定义常量,可以用反撇号` `定义字符串常量,用双引号“ ” 也能定义字符串,区别在于,用反撇号括住的字符串里面可以有换行符,你怎么输入的就怎么输出,而双引号实现换行则得使用转义字符\n

 

下面是一个二分法猜数字的小程序,继续分析基本语法

funcmain2(){
  min,max:=0,10000
 fmt.Printf("请你想一个%d-%d的整数\n",min,max)
 for min<max{
  i:=(min+max)/2
  fmt.Printf("你想的数字小于或者等于%d么?(y/n)\n",i)
  var s string
  fmt.Scanf("%s",&s)
 if s !=""&& s[0]=='y'{
       max=i
       }else{
          min=i+1
        }
 }
 fmt.Printf("你想的数字是%d\n",max)
}

1、变量在使用前必须要声明。通常用:=来赋值,比如上面程序中的 i:=(min+max)/2
同时一行可以同时赋值多个变量,如上面程序中 min,max :=0,100,表示min=0,max=100,并且min和max都是整数
2、通过var 定义变量,比如 var s string 。表示定义了一个字符串s,
3、for循环有多种形式,上面的是一种简化形式,min<max ,循环中由i++来控制循环的前进
4、注意fmt.Scanf( )函数的使用,和C语言中的scanf( )类似
5、Go语言是严格区分大小写的,Println Printf Scanf 这些函数首字母要大写,表示这些函数可以被外部访问,fmt包中还有很多小写字母开头的函数,这些都是fmt包里面自己私有的,外部不可以访问。于是Go用一种很简单的方式区分了方法的权限。


今天的就到这里了。

刘凯宁@C2P
20140626

Share

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*


*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>