GO语言学习

先说一下GO语言的一些规范,再拿代码具体说一下 for 和 if 语句。
python

一、分号 数组

和c语言同样,go语言的正式语法也使用分号来终止语句。但与c不一样的是,这些分号由词法分析器在扫描源代码过程当中使用简单的规则自动加入。 函数

二、左大括号spa

函数、控制结构等的左大括号“{”,必须和函数声明或控制结构放在同一行,若是放在下一行,编译器会自动在左大括号的前方自动加入一个分号,这可能致使异常的结果。 写到这里我不得说一下python,python是一门很是优雅的语言,他无需分号终止语句,也不在函数和控制结构里使用大括号,它靠缩进来标明层次关系,这使得python的代码写出来很是整齐美观。 go语言在传统c系列语言和python语言的语法中取了中庸之道。保留了花括号,但对它的位置作了限定;一样,分号也是没必要的。 在我看来,有花括号可能层次更加一目了然吧。 code

三、对utf-8的支持 blog

go的发明者里面包括utf-8的发明者,因此go天生支持utf-8。 排序

四、可见性原则接口

go语言中,使用大小写来决定常量、变量、类型、接口、结构或函数是否能够被外部包所调用。根据约定: utf-8

(1) 函数名首字母小写,即为private。 编译器

(2) 函数名首字母大写,即为public。

 

下面是for语句和if语句的一个简单使用。

筛选法求100之内的素数。思路:找出一个非素数就把它挖掉,最后剩下就是素数。
欣赏一下go简洁的代码吧。

 

// 浪费一个数组长度,可是比较容易理解
package main

import (
    "fmt"
)

func main() {
    var i, j, temp int
    var a [11]int
    fmt.Println("please enter ten numbers :")
    for i = 1; i < 11; i++ {
        fmt.Scanln(&a[i])
    }
    /*
     * 冒泡法排序
     * 思路:相邻的两个数比较,将小的调到前头
     */
    for j = 1; j <= 9; j++ {
        for i = 1; i <= 10-j; i++ {
            if a[i] > a[i+1] {
                temp = a[i]
                a[i] = a[i+1]
                a[i+1] = temp
            }
        }
    }
    /*
     * 选择法排序
     * 思路:假若有10个元素,a[1]~~a[10]
     * 将a[1]与a[2]相比,若a[1]较小,则继续与a[3]相比
     * 若a[2]较小,则把a[2]的值存入a[min],并继续往下比。
     */
    for i = 1; i <= 9; i++ {
        var min int
        min = i
        for j = i + 1; j <= 10; j++ {
            if a[min] > a[j] {
                min = j
                temp = a[i]
                a[i] = a[min]
                a[min] = temp
            }
        }
    }
    fmt.Println("the sorted numbers are :")
    for i = 1; i < 11; i++ {
        fmt.Print(a[i], "  ")
    }
    fmt.Print(a)
}

 

冒泡法和选择法,任选其一。

 for 和 if 语句的条件都不加括号,可是控制结构的左大括号“{”,必须和控制结构放在同一行,即在条件以后空格加"{"。

相关文章
相关标签/搜索