quarta-feira, 19 de setembro de 2018

Programando em Go (Golang) - Condicionais IF , ELSE e IF/ELSE IF/ElSE

Uma estrutura condicional é utilizada para verificar se uma condição é verdadeira, caso essa seja será executada uma determinada ação.
Em Go a estrutura de condicionais if, if/else e if/else if sãoess bem simples. Vale lembra que em Go as chaves "{" são obrigatórias.


Operadores Relacionais


Os operadores relacionais são utilizados para dois ou mais valores para verificar se o mesmo é verdadeiro.

Os operadores relacionais em Go são:


  • == Igual a 
  • != - Diferente de
  • > - Maior que
  • < - Menor que
  • >= - Maior ou igual a
  • <= - Menor ou igual a

if

No caso do if , o método do mesmo só será acessado se a condição verificada no mesmo for verdadeira.

Sintaxe:


if condição {

ação_ser_tomada

}

Onde:



  • condição - Condição para entrar no bloco if.
  • ação_ser_tomada - Grupo de ações a serem tomadas quando o usuário entrar nesse bloco.



Exemplo 1:



package main



import "fmt"


func main() {
idade:=33


if idade > 32{
  fmt.Println("A idade é maior que 32")
}

}

Nesse exemplo foi é possível verificar o trecho condicional com if na linha if idade => 32. Nesse exemplo o programa só entrará no bloco do condicional se a condição for verdadeira no caso o conteúdo da variável idade ser maior que 32.


if /else

No caso do if /else , o bloco de condição if será acessada se a condição contida na mesma for verdadeira, caso contrario será acessada o bloco da condição else.

Sintaxe:


if condição {

ação_ser_tomada

}
else{

 ação_ser_tomada

}

Onde:



  • condição - Condição para entrar no bloco if.
  • ação_ser_tomada - Grupo de ações a serem tomadas quando o usuário entrar nesse bloco.



Exemplo 2:



package main



import "fmt"


func main() {
idade:=33


if idade => 32{
  fmt.Println("A idade é maior que ou igual a 32")
}else{
  fmt.Println("Sua idade é diferente de 32")
}

}

Nesse exemplo foi é possível verificar o trecho condicional com if na linha if idade => 32. Nesse exemplo o programa só entrará no bloco if do condicional se a condição for verdadeira no caso o conteúdo da variável idade ser maior ou igual a 32, caso contrário será acessado o conteúdo do bloco else.


.

if /else if/else

No caso do if /else if/else , o bloco de condição if será acessada se a condição contida na mesma for verdadeira, caso a condição do if não seja verdadeira é testada os blocos else if,  caso nenhum deles sejão verdadeiros é acessaod o bloco else.

Sintaxe:


if condição {

ação_ser_tomada

}
else if condição_2{

 ação_ser_tomada

}
//É possível que exita mais que 1 bloco else if
else if condição_N{

 ação_ser_tomada

}
else{

 ação_ser_tomada

}

Onde:



  • condição - Condição para entrar no bloco if.
  • condição_1 - condição_N - Condições a serem tomadas para entrar em cada bloco de código.
  • ação_ser_tomada - Grupo de ações a serem tomadas quando o usuário entrar nesse bloco.



Exemplo 2:



package main



import "fmt"


func main() {
idade:=33


if idade > 32{
  fmt.Println("A idade é maior que 32")

}else if idade < 32{
  fmt.Println("A idade é menor que 32")

}else{
  fmt.Println("Sua idade é 32")
}

}

Nesse exemplo foi é possível verificar o trecho condicional com if na linha if idade => 32 e else. Nesse exemplo o programa só entrará no bloco if do condicional se a condição for verdadeira no caso o conteúdo da variável idade ser maior que 32, caso seja menor que 32 entra no bloco else if, casocontrário será acessado o conteúdo do bloco else.



terça-feira, 18 de setembro de 2018

Programando em Go (Golang) - Variáveis

Assim como em outras linguagens de programação uma variável é de suma importância em Go, para iniciar uma variável em Go utiliza a palavra chave var.

Sintaxe:

var nome_variavel tipo_variavel

Onde:


  • nome_variavel - O nome propriamente dito da variável.
  • tipo_variavel - Tipo da variável (int, string, etc)



Exemplos 1:

var idade int
var nome string
var nome,cpf string



Nível de acesso a variáveis


As variáveis em Go pode estar ao nível de pacote(package) ou local a uma função(func).

Sintaxe:

package pacoteX

var nome string //Variável ao nivel do pacote

func main()
{
var cpf string //Variável ao nivel da função main
...
}

func calculoX()
{
var numero1,numero2 int //Variável ao nivel da função calculoX
...
}



Exemplo 2: 

package main

import "fmt"

var nome, rg, cpf string

func main() {
var idade int
fmt.Println(nome, rg, cpf, idade)
}


Nesse exemplo as váriaveis nome, rg e cpf estão no nivel do pacote, já a idade está no nivel da função.


Variveis com inicialização


Em Go podemos inicializar multiplas váriveis em uma unica linha, uma por vez.

Sintaxe:


var var1,var2,var3 tipo_variavel = valor1,valor2,valor3

Onde:



  • var1,var2,var3 - São as váriaveis a serem inicializadas.
  • valor1,valor2,valor3 - Os valores que serão atribuidos as variáveis var1,var2,var3


Exemplo 3: 

No exemplo abaixo é possível ver multiplas váriaveis sendo inicializadas ao mesmo tempo.

package main

import "fmt"

var dia,mes,ano int = 1, 2, 2012

func main() {
var nome,sobreNome,habilitado = "Mario", true, "Kent"
fmt.Println(nome,habilitado,dia, mes, ano,  sobreNome)
}



Inicialização rápida de váriaveis


Em Go (golang) é possível inicializar variáveis de maneira rápida através da assinatura := . Utilizando a mesma ao invés da palavra chave var a variável é inicializada com um tipo implícito.

Sintaxe:


nome_variavel := valor

Onde:


  • nome_variavel - Nome da váriavel propriamente dita.
  • valor - Valor a ser atribuido intricicamente a váriavel nome_variavel.


Exemplo 4:


package main

import "fmt"

var dia int = 8

func main() {
ano:=1988
nome:="Mario"

fmt.Println(nome,dia, ano)
}


Não é possível inicializar uma váriavel de maneira "rápida" fora do corpo de uma função o exemplo abaixo não está correto.


Exemplo 5: 

Um exemplo com erro.

package main

import "fmt"

var dia int = 8
nome:="Mario" // trecho com erro

func main() {
ano:=1988

fmt.Println(nome,dia, ano)
}


Tipos de variáveis em Go 


Os tipos básicos de variáveis em Go são:


  • bool
  • byte 
  • complex64 complex128
  • float32 float64
  • int  int8  int16  int32  int64
  • rune 
  • string
  • uint uint8 uint16 uint32 uint64 uintptr


Variável inicializada sem valor


Em Go váriveis inicializadas sem um valor inicial explicito é dado o valor default para o mesma.


  • Para tipos números é atribuido o valor 0
  • Para tipo booleano é atribuido o valor false
  • Para tipo string é atribuído o valor "" (string vazia)


Exemplo 6:


package main

import "fmt"

func main() {
var idade int
var altura float64
var habilitado bool
var nome string
fmt.Printf("%v, %v, %v , %v, %v", nome,idade, altura, habilitado, nome)
}



Conversão de tipo


Em Go é possível converter o tipo de várivel utilizando a seguinte sintaxe:


tipo(valor)

Onde:


  • tipo - Tipo para o qual o "valor" será convertido.
  • valor - Valor a ser convertido.


Exemplo:




var idade int = 30
var fidade float64 = float64(idade)
var uIdade uint = uint(fidade)




Anterior                                       Início                                                       Próximo

segunda-feira, 17 de setembro de 2018

Programando em Go (Golang) - Funções

A função nada mais é que um conjunto de ações que um determinado programa deve executar. Em Go podemos ter funções com zero ou mais argumentos.

Sintaxe:

func nome_funcao(variavel_entrada_1,variavel_entrada_n) retorno{

corpo_da_função

}

Onde:


  • func - Palavra chave para identificar uma função. 


  • nome_funcao - Nome da função.


  • variavel_entrada_1,variavel_entrada_n - Argumentos da função, pode ter um ou mais.


  • retorno - Retorno da função, pode ter um ou mais ao mesmo tempo.
  • corpo_da_função - Informações e medidas que serão tomadas na função.



Exemplo 1 - Nesse exemplo é possível ver uma função sum(x int, y int) que recebe dois valores int e devolve um int como retorno.


package main

import "fmt"

//Função que soma x e y 
func sum(x int, y int) int{
return x+y;
}

func main() {
    fmt.Println("Soma 2+3=",sum(2,3))
}



Abaixo é possível ver a execução do programa acima.




Exemplo 2 - É possível passar dois argumentos consecutivos, desde que os dois sejam do mesmo tipo abaixo é possível ver esse caso na função sum(x, y int) que recebe dois valores int e devolve um int como retorno.


package main

import "fmt"

//Função que soma x e y 
func sum(x, y int) int{
return x+y;
}

func main() {
    fmt.Println("Soma 2+3=",sum(2,3))
}


Funções com multiplos resultados

Em Go é possível que uma função retorne vários resutados ao mesmo tempo, para isso basta utilizar a sintaxe abaixo:

Sintaxe:

func nome_funcao(variavel_entrada_1,variavel_entrada_n) (retorno1,retorno2,retornon){

corpo_da_função

}

Onde:


  • func - Palavra chave para identificar uma função. 


  • nome_funcao - Nome da função.


  • variavel_entrada_1,variavel_entrada_n - Argumentos da função, pode ter um ou mais.


  • retorno1,retorno2,retornon- Retornos da função, vale lembrar que pode ser mais que três retornos.
  • corpo_da_função - Informações e medidas que serão tomadas na função.

Exemplo 3 - Nesse exemplo é possível ver uma função sum(x int, y int) que recebe dois valores int e devolve dois int como retorno.


package main

import "fmt"

//Função que retorna multiplos valores 
func sumEsubtracao(x int, y int) (int,int){
return x+y, x-y;
}

func main() {
    soma,sub:=sumEsubtracao(2,3)
    fmt.Println("Soma 2+3=",soma," e a subtração é 2-3=",sub)
}


As funções com múltiplos retornos também podem especificar quais variáveis retornar.


Exemplo 4 - Nesse exemplo é possível ver uma função sum(x int, y int) que recebe dois valores int e devolve dois int como retorno através de um retorno naked (retorno onde não te uma variável de retorno após a palavra chave return)

package main

import "fmt"

//Função que retorna multiplos valores 
func sumEsubtracao(x int, y int) (soma,sub int){
soma=x+y
        sub=x-y
        return
}

func main() {
    soma,sub:=sumEsubtracao(2,3)
    fmt.Println("Soma 2+3=",soma," e a subtração é 2-3=",sub)
}


Anterior                                       Início                                                       Próximo

Progamando em Go (Golang) - Comentários


Os comentarios são informações adicionais que são adicionadas ao código para facilitar o entendimento do mesmo, os comentários não são exibidos em tempo de execução do programa. Em Go são bem simples de serem feitos, os mesmos podem ser em blocos ou linhas.

1º Comentário em bloco


No em bloco é possível escrever mais que uma linha de comentário dentro do campo /* */ . Sendo que o mesmo é marcado com /* e terminado com */

Sintaxe:


/*

bloco_de_mentario

*/

Onde:


/* - Inicio do bloco de comentário.

*/ - Final do bloco de comentário

bloco_de_mentario - Comentário propriamente dito.


2º Comentário em linhas


No estilo de comentário em linha é possível escrever o comentário apenas em uma linha continua.

Sintaxe:

//comentario 1

//comentario 2


Onde:

//- Marcador de comentário

comentario 1 - Comentário propriamente dito.

comentario 2 - Comentário propriamente dito.


Exemplo na prática.


package main

import "fmt"

func main() {

 //Exemplo de comentario em uma unica linha

 /*
Exemplo de 
comentario 
em uma unica linha
  */

  fmt.Printf("Ola, Mundo!\n")


}





Anterior                                       Início                                                       Próximo

domingo, 16 de setembro de 2018

Curso básico gratuito de Go (Golang) - Introdução


Objetivo

Esse é o primeiro de uma série de posts que viram a explicar uma maneira bem simples e rápida de como se programar em Go (Golang o nome que mais facil encontrar conteúdo da intenet).

Pré requistos

Ter o compilador go instalado no computador.


Introdução

Go é uma linguagem de programação desenvolvida pelo Google e lançada em código em sua versão 1.0.3 em  28 de março de 2012. Go é uma linguagem compilada e focada em produtividade e programação concorrente. O projeto inicial da linguagem foi feito em setembro de 2007 por Robert GriesemerRob Pike e Ken Thompson.
A sintaxe de Go é semelhante a C. Algumas variações são:

O Go está disponível para as plataformas: Linux, BSD, MacOs, Plan 9, Windows, Mobile (desde 2015).
Dentre as várias vantagens do Go posso citar:

  • Compilação e criação de executável de maneira muito rápida.
  • Sintaxe de código simples.
  • Não deixa gerar lixo no código (variáveis e imports que não são utilizadas o compilador demonstra que são necessária remove-las)


Primeiro programa em Go 

Abaixo vamos ver o exemplo simples do nosso primeiro programa em go:


package main



import "fmt"



func main() {

    fmt.Printf("Ola, Mundo!\n")

}




Onde:

package main - Nome do pacote onde seu programa está sendo criado.  Todo programa inicia Go inicia em um package main.

import - O bloco import é responsável por citar quais classes serão importadas para utilização nesse projeto.

"fmt" - Uma classe importada para utilização em nosso projeto

func main() - Função principal do programa. Todo programa em Go precisa ter uma função main, ela é o ponto de inicio de qualquer projeto feito nessa linguagem.

fmt.Printf("Olá, Mundo!\n") - Nesse trecho é utilizado o método Printf da classe de apoio fmt, esse método método nada mais é que o responsavel por exibir o passado para o mesmo na tela.


Execução do programa 

Existem duas maneiras simples de executar o programa em go. (Vale lembrar que estamos utilizando o prompt do windows para compilar os programas .go).
Antes de compilar o programa pego o nosso primeiro programa e salve ele no bloco de notas com o nome programa01.go , o .go é a extensão de arquivos para compilação do Go.


Comando go run


O comano go run apenas executa o conteúdo do contido no arquivo .go

Sintaxe:

 go run nome_arquivo.go


Onde: 
  • nome_arquivo.go - É o nome do arquivo .go a ser executado.

Exemplo:

go run programa01.go





Comando go build

O comano go build criar um executavel.

Sintaxe:

 go build nome_arquivo.go


Onde: 
  • nome_arquivo.go - É o nome do arquivo .go a ser executado.

Exemplo:

go build programa01.go




No exemplo acima é executado o comando go build progama01.go e o mesmo criar um arquivo chamado programa01.exe o mesmo é um executável que pode ser executado.



                                                                                   Início                                                       Próximo

sábado, 15 de setembro de 2018

Verificar pontos de restauro do windows com linha de comando

Para verificar os pontos de restauros do windows é necessário abrir o powershell em modo administrador.


Quando o powershell estiver aberto em modo administrador digite apenas o comando.


Get-ComputerRestorePoint


Abaixo é possível ver o resultado da execução do comando acima:




Descobrir o tamanho de uma string em go golang

Para sabermos o tamanho de uma string em golang basta utilzar a função len . Ela simplesmente retornar o tamanho de uma dermnada string ou array.

Sintaxe:

len(varivel)


Onde:

variável - Variável a ter o conteúdo contado.



Exemplo:

package main

import(
"fmt"
)

func main(){

 var nome string="Nome azul"

 fmt.Printf("\"%s\" tem %d caracteres",nome,len(nome))

}

No programa acima é imprimido a string e tamanho da mesma utilizando a função len(nome)
Resultado ao executar o programa acima pode ser visto abaixo.




sábado, 8 de setembro de 2018

Iniciar um programa junto ao windows

Uma maneira simples de fazer um programa no momento que o usuario faz o login e adicionar o executavel ou atalho dentro da pasta:


Caso queira que seja iniciado somente para o usuario logado atualmente o caminho é:

%AppData%\Microsoft\Windows\Start Menu\Programs\Startup


Caso queira para todos usuários que venham a logar no sistema.

%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\StartUp

Como executar uma ação quando EditText sofre alteração de focus ( blur , focus)

Caso seja necessário executar alguma ação quando o focu perdido ou adquirido em uma tag EditText no android é necessário utilizar apenas o exemplo abaixo no seu código fonte.



variavel_EditText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
    @Override
    public void onFocusChange(View v, boolean hasFocus) {

      //ação a ser tomada quando o foco do mesmo é alterado
    }
});


sexta-feira, 7 de setembro de 2018

Bloquear o windows por linha de comando


Para bloquear windows por linha de comando basta executar o comando baixo no terminal, powershell ou menu executar (win+r)


C:\Windows\System32\rundll32.exe user32.dll, LockWorkStation


Exemplo menu executar:


Abra o menu executar (aperte o botão win e a letra R)  e cole o comando acima e clique em executar.



Exemplo no cmd


Basta colocar a linha de código no cmd.



Exemplo com powershell



quarta-feira, 5 de setembro de 2018

Executante arquivo .sql por linha de comando (prompt Windows) no postgresql

Crie um aquivo com extensão .bat e adicione as linhas a seguir dentro do mesmo:

set PGPASSWORD=SENHA_USUARIO
psql -h HOST -d BANCO -U LOGIN -f "CAMINHO_ARQUIVO.sql"


Onde:

SENHA_USUARIO - Senha do usuário do usuário do qual faremos a conexão ao banco de dados.
HOST Endereço ip do banco que será conectado.
BANCO - Nome do banco de dados.
LOGIN Login do usuário que será utilizado para conectar ao banco de dados.
CAMINHO_ARQUIVO.sqlCaminho do arquivo .sql (Ex: C:\Users\Mario\Documentos\queries.sql).


Exemplo:



set PGPASSWORD=postgres
psql -h localhost -d dbTestes -U postgres-f "C:\tmp\insercoes.sql"



Após criar salvar o arquivo é só dar dois cliques em cima do mesmo para que o .bat seja executado.






quinta-feira, 30 de agosto de 2018

Como matar um processo do windows por linha de comando

Introdução


O principal objetivo deste post é explicar como se "mata" um processo através do cmd.


Abrindo o prompt de comando

Através do executar.


Primeiro é necessário abrir o cmd, para isso aperte Win+R. E digite cmd e cliquei em OK.


Através do menu iniciar


Clique no menu iniciar e digite cmd.


cmd aberto


Descobrindo o IM ou PID do processo


Para podermos fechar o processo por linha de comando é necessário saber o IM (image nome do executavel) ou o PID (id do processo). Para visualizar os processo é necessário utilizar o comando tasklist



Abaixo é possível ver o resultado da execução do comando tasklist



Executando comando

Ao abri o cmd execute  comando taskkilll.


Finalizando através do nome do executável.

Sintaxe:


taskkill /IM nome_processo /F



Onde:

  • nome_processo - Nome do processo que será fechado.

Exemplo:


taskkill /IM firefox.exe /F






Finalizando através do nome do PID.

Sintaxe:

taskkill /PID id_processo /F




Onde:

  • id_processo - id do processo que será fechado.


Exemplo:


taskkill /PID 11792 /F