Go - Introdução

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Go - Introdução

Mensagem por brujah999 em Qui Nov 12 2009, 11:24

Go
É uma linguagem criada pela Google e como eles mesmo dizem ela é: Rápida, Segura, Divertida e Livre.
Vou fazer um pequeno tutorial traduzido da linguagem, começarei com a introdução que vou deixar aki hoje e aos poucos vou colocando programas e um guia de instalação.

Introdução


Go é uma nova linguagem. Apesar de ser pego emprestado idéias de línguas existentes, tem propriedades incomuns que fazem programas eficazes, Go é diferentes em caráter de programas escritos em seus parentes. Uma tradução direta de um C ou Java em programa Go é possivel que de erros, se quer algo que produza um resultado satisfatório de programas Java escreva em Java. Por outro lado, pensar sobre o problema de uma perspectiva Go poderia produzir um programa bem sucedido, mas completamente diferente. Em outras palavras, a Go escrever bem, é importante compreender as suas propriedades e expressões idiomáticas. Também é importante conhecer as convenções estabelecidas para a programação de Go, tais como nomes, formatação, construção de programa, e assim por diante, de modo que os programas que você escrever será fácil para outros programadores Go to understand.

Alguns links para escrever o código Go. Ele aumenta a [Você precisa estar registrado e conectado para ver este link.] e [Você precisa estar registrado e conectado para ver este link.] que estão em Inglês, Os quais você deve ler primeiro se não quizerem esperar uma versão traduzida.

Exemplos

O [Você precisa estar registrado e conectado para ver este link.] se destinam a servir não só como a biblioteca central, mas também como exemplos de como usar a linguagem. Se você tiver uma pergunta sobre a forma de abordar um problema ou como algo pode ser implementado, eles podem fornecer respostas, idéias e plano de fundo.

Formatação


Problemas de formatação são as mais controversas, mas a menos consequentes. As pessoas podem se adaptar a diferentes estilos de formatação, mas é melhor se eles não precisam, e menos tempo é dedicado ao tema se adere a todos para o mesmo estilo. O problema é a forma de abordar esta utopia sem um guia de estilo longo.

Com Go tomamos uma abordagem incomum e deixar a máquina cuidar da maioria dos problemas de formatação. Um programa, gofmt, Lê-se um programa vai funcionar e emite a fonte em um estilo padrão de recuo e o alinhamento vertical, retenção e, se necessário, reformatação. Se você quiser saber como lidar com alguma situação, novo layout, execute gofmt; Se a resposta não parece certo, você mesmo pode fazer a alteração.

Como exemplo, não há necessidade de gastar tempo alinhando os comentários sobre os campos de uma estrutura. Gofmt vai fazer isso por você. Dada a declaração

Código:
type T struct {
name string; // name of the object
value int; // its value
}

gofmt vai alinhar as colunas:

Código:
type T struct {
    name    string; // name of the object
    value  int;    // its value
}

Todos os códigos nas bibliotecas foi formatado com gofmt.

Alguns detalhes da formatação permanece. Muito resumidamente,

Recuo

Usamos guias para recuo e gofmt emite por padrão. Utilize espaços somente se você precisa.

Comprimento Line

Go não tem limite de comprimento da linha. Não se preocupe com transbordamento da folha.

Parênteses

Go necessidades tem menos necessidades de parenteses: estruturas de controle (se, para, interruptor) Não necessitam de parênteses em sua sintaxe. Além disso, a hierarquia de precedência do operador é menor e mais clara, de modo que

x <<8 y <<16

significa que o afastamento implica.

Commentary


Go fornece em estilo C / * * / comentários de bloco e Estilo C / / comentários de linha. Comentários de linha são a norma; comentários bloco aparecer na maior parte dos comentários do pacote e também são úteis para desativar grandes trechos de código.

O programa servidor web godoc de processos Go, arquivos de origem para extrair documentação sobre o conteúdo do pacote. Os comentários que aparecem antes de declarações de alto nível, sem novas linhas de intervenção, são extraídos junto com a declaração para servir como um texto explicativo para o item. A natureza e o estilo desses comentários determina a qualidade da documentação que o godoc produz.

Cada pacote deve ter um pacote comentário, Um bloco de comentário anterior, a cláusula de pacote. Para multi-arquivo de pacotes, o comentário pacote só precisa estar presente em um arquivo, e qualquer um vai fazer. O comentário do pacote deverá introduzir o pacote e fornecer informações relevantes para o pacote como um todo. Ele será exibido pela primeira vez no godoc da página e deverá criar a documentação detalhada que se segue.


Código:
/*


/ *
O pacote regexp implementa uma biblioteca simples para
expressões regulares.
[font='Helvetica']A sintaxe das expressões regulares aceita é:[/font]

  regexp:
        concatenation { '|' concatenation }
  concatenation:
        { closure }
  closure:
      term [ '*' | ' ' | '?' ]
      term:
      '^'
      '$'
      '.'
  character
      '[' [ '^' ] character-ranges ']'
      '(' regexp ')'
*/
package regexp
[font='Helvetica'][/size]


Se o pacote é simples, o comentário pacote pode ser breve.

Código:
 

/ / O pacote caminho implementa rotinas de utilidade para
/ / Barra manipulando separados por caminhos de arquivo.


Comentários não precisa de formatação adicionais, tais como bandeiras de estrelas. A saída gerada não pode mesmo ser apresentado em uma fonte de largura fixa, por isso não depende de espaço para alinhamentogodoc, Como gofmt, Tome cuidado com isso. Finalmente, os comentários são interpretados texto simples, de modo HTML e outras anotações como _this_ reproduzirá textualmente e não deve ser usado.

Dentro de um pacote, qualquer comentário imediatamente anterior a uma declaração de alto nível serve como um doc comentário para essa declaração. Cada exportados (nome em maiúsculas) em um programa deve ter um comentário doc.

Comentários Doc completa o trabalho usando sentenças em Inglês, que permitem uma ampla variedade de apresentações automatizadas. A primeira frase deve ser um resumo de uma frase que começa com o nome que está sendo declarado.

Código:
 

/ / Compile analisa uma expressão regular e retorna, se bem sucedida, uma Regexp
/ / Objeto que pode ser usada para jogo contra o texto.

func Compile(str string) (regexp *Regexp, error os.Error) {


Sintaxe Go declaração permite o agrupamento de declarações. Um único comentário doc pode introduzir um grupo de constantes relacionadas ou variáveis. Desde toda a declaração é apresentada, tal comentário pode muitas vezes ser superficial.

Código:
 

/ / Códigos de erro retornados por falhas ao analisar uma expressão.

var (
  ErrInternal = os.NewError("internal error");
  ErrUnmatchedLpar = os.NewError("unmatched '('");
  ErrUnmatchedRpar = os.NewError("unmatched ')'");
  ...
)


Mesmo para os nomes de particulares, agrupamento também pode indicar relações entre os itens, tais como o fato de um conjunto de variáveis é protegida por um mutex.

Código:
 

var (
  countLock sync.Mutex;
  inputCount uint32;
  outputCount uint32;
  errorCount uint32;
)
-----------------------------------------------------
Ok como podem ver não está com uma tradução perfeita, usei um pouco do tradutor ^_^, quem quizer me corrigir ou complementar podem colocar aqui ou mandem PM eu altero e coloco o nome da pessoa que ajudou, trarei depois a parte de nomes e pacotes, qualquer dúvida perguntem, se eu demorar para responder me deen um tempo, como a linguagem é nova estou testando ela tb e com a facu ta meio apertado.



Vlw t

_________________
[Você precisa estar registrado e conectado para ver esta imagem.]
"Programadores são ferramentas para converter cafeína em código."
avatar
brujah999
Iniciante

Mensagens : 228
Data de inscrição : 14/10/2009
Idade : 36
Localização : São Paulo

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum