{"id":26548,"date":"2023-06-11T17:14:46","date_gmt":"2023-06-11T13:44:46","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/escribir-golang-como-un-senior-590i\/"},"modified":"2023-06-11T17:14:46","modified_gmt":"2023-06-11T13:44:46","slug":"escribir-golang-como-un-senior-590i","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/escribir-golang-como-un-senior-590i\/","title":{"rendered":"\u062a\u0627\u06cc\u067e Golang \u0645\u0627\u0646\u0646\u062f \u06cc\u06a9 \u0627\u0631\u0634\u062f"},"content":{"rendered":"<div data-article-id=\"1490938\" id=\"article-body\">\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_81 counter-hierarchy ez-toc-counter-rtl ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/nabfollower.com\/blog\/escribir-golang-como-un-senior-590i\/#%D9%85%D8%B9%D8%B1%D9%81%DB%8C\" >\u0645\u0639\u0631\u0641\u06cc<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/nabfollower.com\/blog\/escribir-golang-como-un-senior-590i\/#%D9%BE%D8%A7%D8%B1%D8%A7%D9%85%D8%AA%D8%B1%D9%87%D8%A7_%D8%AF%D8%B1_Go_%D8%AA%D9%88%D8%B3%D8%B7_%D9%85%D9%82%D8%AF%D8%A7%D8%B1_%D8%A7%D8%B1%D8%B3%D8%A7%D9%84_%D9%85%DB%8C_%D8%B4%D9%88%D9%86%D8%AF\" >\u067e\u0627\u0631\u0627\u0645\u062a\u0631\u0647\u0627 \u062f\u0631 Go \u062a\u0648\u0633\u0637 \u0645\u0642\u062f\u0627\u0631 \u0627\u0631\u0633\u0627\u0644 \u0645\u06cc \u0634\u0648\u0646\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/nabfollower.com\/blog\/escribir-golang-como-un-senior-590i\/#%D8%A7%D8%B2_%D8%A7%D8%B4%D8%A7%D8%B1%D9%87_%DA%AF%D8%B1_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%DA%A9%D9%86%DB%8C%D8%AF_%D8%A7%D9%85%D8%A7_%D8%B3%D9%88%D8%A1_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%D9%86%DA%A9%D9%86%DB%8C%D8%AF\" >\u0627\u0632 \u0627\u0634\u0627\u0631\u0647 \u06af\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f (\u0627\u0645\u0627 \u0633\u0648\u0621 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0646\u06a9\u0646\u06cc\u062f)<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/nabfollower.com\/blog\/escribir-golang-como-un-senior-590i\/#%D8%A7%D9%BE%D8%B1%D8%A7%D8%AA%D9%88%D8%B1_%D9%88_%D8%A7%D9%BE%D8%B1%D8%A7%D8%AA%D9%88%D8%B1\" >\u0627\u067e\u0631\u0627\u062a\u0648\u0631 * \u0648 \u0627\u067e\u0631\u0627\u062a\u0648\u0631 &amp;<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/nabfollower.com\/blog\/escribir-golang-como-un-senior-590i\/#%D8%B4%D8%AC%D8%A7%D8%B9%D8%AA_nil\" >\u0634\u062c\u0627\u0639\u062a nil<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/nabfollower.com\/blog\/escribir-golang-como-un-senior-590i\/#%D8%A7%DB%8C%D9%86%D8%AA%D8%B1%D9%81%DB%8C%D8%B3_%D9%87%D8%A7_%D8%B1%D8%A7_%D8%AF%D8%B1_%D8%AC%D8%A7%DB%8C%DB%8C_%DA%A9%D9%87_%D8%A7%D8%B2_%D8%A2%D9%86%D9%87%D8%A7_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%D8%AE%D9%88%D8%A7%D9%87%DB%8C%D8%AF_%DA%A9%D8%B1%D8%AF%D8%8C_%D8%A7%D8%B9%D9%84%D8%A7%D9%85_%DA%A9%D9%86%DB%8C%D8%AF\" >\u0627\u06cc\u0646\u062a\u0631\u0641\u06cc\u0633 \u0647\u0627 \u0631\u0627 \u062f\u0631 \u062c\u0627\u06cc\u06cc \u06a9\u0647 \u0627\u0632 \u0622\u0646\u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062e\u0648\u0627\u0647\u06cc\u062f \u06a9\u0631\u062f\u060c \u0627\u0639\u0644\u0627\u0645 \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/nabfollower.com\/blog\/escribir-golang-como-un-senior-590i\/#%D8%AA%D8%B3%D8%AA_%D9%87%D8%A7%DB%8C_%D8%B1%D9%88%DB%8C_%D9%85%DB%8C%D8%B2%D9%87%D8%A7_%D8%B1%D8%A7_%D8%AA%D8%B1%D8%AC%DB%8C%D8%AD_%D8%AF%D9%87%DB%8C%D8%AF%D8%8C_%D8%A7%D9%85%D8%A7_%D8%B2%DB%8C%D8%A7%D8%AF%D9%87_%D8%B1%D9%88%DB%8C_%D9%86%DA%A9%D9%86%DB%8C%D8%AF\" >\u062a\u0633\u062a \u0647\u0627\u06cc \u0631\u0648\u06cc \u0645\u06cc\u0632\u0647\u0627 \u0631\u0627 \u062a\u0631\u062c\u06cc\u062d \u062f\u0647\u06cc\u062f\u060c \u0627\u0645\u0627 \u0632\u06cc\u0627\u062f\u0647 \u0631\u0648\u06cc \u0646\u06a9\u0646\u06cc\u062f<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/nabfollower.com\/blog\/escribir-golang-como-un-senior-590i\/#%DA%86%D9%87_%D8%B2%D9%85%D8%A7%D9%86%DB%8C_%D8%A7%D8%B2_%D8%AC%D8%AF%D9%88%D9%84_%D8%A2%D8%B2%D9%85%D9%88%D9%86_%D8%A7%D8%AC%D8%AA%D9%86%D8%A7%D8%A8_%DA%A9%D9%86%DB%8C%D9%85%D8%9F\" >\u0686\u0647 \u0632\u0645\u0627\u0646\u06cc \u0627\u0632 \u062c\u062f\u0648\u0644 \u0622\u0632\u0645\u0648\u0646 \u0627\u062c\u062a\u0646\u0627\u0628 \u06a9\u0646\u06cc\u0645\u061f<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/nabfollower.com\/blog\/escribir-golang-como-un-senior-590i\/#%D9%85%D9%86%D8%A7%D8%A8%D8%B9_%D8%A8%D8%B1%D8%A7%DB%8C_%D8%A7%D8%AF%D8%A7%D9%85%D9%87_%D8%A8%D9%87%D8%A8%D9%88%D8%AF\" >\u0645\u0646\u0627\u0628\u0639 \u0628\u0631\u0627\u06cc \u0627\u062f\u0627\u0645\u0647 \u0628\u0647\u0628\u0648\u062f<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/nabfollower.com\/blog\/escribir-golang-como-un-senior-590i\/#%D9%86%D8%AA%DB%8C%D8%AC%D9%87\" >\u0646\u062a\u06cc\u062c\u0647<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"%D9%85%D8%B9%D8%B1%D9%81%DB%8C\"><\/span>\n<p>  \u0645\u0639\u0631\u0641\u06cc<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0627\u06cc\u0646 \u067e\u0633\u062a \u062a\u0631\u062c\u0645\u0647\u200c\u0627\u06cc \u0627\u0633\u062a \u0627\u0632 \u067e\u0633\u062a Write Go \u0645\u0627\u0646\u0646\u062f \u06cc\u06a9 \u0645\u0647\u0646\u062f\u0633 \u0627\u0631\u0634\u062f\u060c \u0648\u0642\u062a\u06cc \u0622\u0646 \u0631\u0627 \u062e\u0648\u0627\u0646\u062f\u0645 \u0628\u0631\u0627\u06cc\u0645 \u062c\u0627\u0644\u0628 \u0628\u0648\u062f \u06a9\u0647 \u0622\u0646 \u0631\u0627 \u0627\u0632 \u0639\u0646\u0648\u0627\u0646 \u0628\u0647 \u0627\u0634\u062a\u0631\u0627\u06a9 \u0628\u06af\u0630\u0627\u0631\u0645\u060c \u0632\u06cc\u0631\u0627 \u0647\u0646\u06af\u0627\u0645 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633\u06cc \u062f\u0631 Go \u0628\u0647 \u0686\u0646\u062f\u06cc\u0646 \u0646\u06a9\u062a\u0647 \u0645\u0647\u0645 \u0627\u0634\u0627\u0631\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u0639\u0645\u06cc\u0642\u200c\u062a\u0631 \u06a9\u0631\u062f\u0646 \u0622\u0646 \u062c\u0627\u0644\u0628 \u0627\u0633\u062a.  \u0628\u0647 \u0627\u06cc\u0646 \u062e\u0648\u0627\u0646\u062f\u0646 \u0648 \u0646\u0638\u0631\u0627\u062a\u060c \u0645\u062b\u0644 \u0647\u0645\u06cc\u0634\u0647\u060c \u0686\u0646\u062f \u0646\u06a9\u062a\u0647 \u0631\u0627 \u0628\u0631 \u0627\u0633\u0627\u0633 \u062a\u062c\u0631\u0628\u0647 \u0627\u0645 \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc \u06a9\u0646\u0645.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D9%BE%D8%A7%D8%B1%D8%A7%D9%85%D8%AA%D8%B1%D9%87%D8%A7_%D8%AF%D8%B1_Go_%D8%AA%D9%88%D8%B3%D8%B7_%D9%85%D9%82%D8%AF%D8%A7%D8%B1_%D8%A7%D8%B1%D8%B3%D8%A7%D9%84_%D9%85%DB%8C_%D8%B4%D9%88%D9%86%D8%AF\"><\/span>\n<p>  \u067e\u0627\u0631\u0627\u0645\u062a\u0631\u0647\u0627 \u062f\u0631 Go \u062a\u0648\u0633\u0637 \u0645\u0642\u062f\u0627\u0631 \u0627\u0631\u0633\u0627\u0644 \u0645\u06cc \u0634\u0648\u0646\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0628\u0647 \u0637\u0648\u0631 \u067e\u06cc\u0634 \u0641\u0631\u0636\u060c golang \u0628\u0644\u06cc\u0637 \u0647\u0627 \u0631\u0627 \u0628\u0631 \u0627\u0633\u0627\u0633 \u0645\u0642\u062f\u0627\u0631 \u062f\u0631 \u062a\u0648\u0627\u0628\u0639 \u062e\u0648\u062f \u0645\u06cc \u067e\u0630\u06cc\u0631\u062f\u060c \u0628\u0647 \u0627\u06cc\u0646 \u0645\u0639\u0646\u06cc \u06a9\u0647 \u0622\u0646\u0686\u0647 \u062f\u0631 \u062a\u0627\u0628\u0639 \u062f\u0631\u06cc\u0627\u0641\u062a \u0645\u06cc \u0634\u0648\u062f <strong>\u06a9\u067e\u06cc \u0645\u0642\u062f\u0627\u0631\u06cc \u06a9\u0647 \u067e\u0627\u0633 \u0645\u06cc \u06a9\u0646\u06cc\u0645<\/strong>.  \u0627\u06cc\u0646 \u0627\u0645\u0631 \u0627\u0632 \u0642\u0637\u0639 \u0634\u062f\u0646 \u0645\u0642\u062f\u0627\u0631 \u0633\u0627\u062e\u062a\u0627\u0631\u06cc \u06a9\u0647 \u062f\u0631 \u062d\u0627\u0644 \u0627\u0631\u0633\u0627\u0644 \u0622\u0646 \u0647\u0633\u062a\u06cc\u0645 \u062f\u0631 \u062f\u0627\u062e\u0644 \u062a\u0627\u0628\u0639\u06cc \u06a9\u0647 \u0641\u0631\u0627\u062e\u0648\u0627\u0646\u06cc \u0645\u06cc \u06a9\u0646\u06cc\u0645 \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0645\u06cc \u06a9\u0646\u062f. <br \/>\u0628\u06cc\u0627\u06cc\u06cc\u062f \u06cc\u06a9 \u0645\u062b\u0627\u0644 \u0631\u0627 \u0628\u0628\u06cc\u0646\u06cc\u0645:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight go\"><code><span class=\"k\">package<\/span> <span class=\"n\">main<\/span>\n\n<span class=\"k\">import<\/span> <span class=\"s\">\"fmt\"<\/span>\n\n<span class=\"k\">type<\/span> <span class=\"n\">Operation<\/span> <span class=\"k\">struct<\/span> <span class=\"p\">{<\/span>\n    <span class=\"n\">Value<\/span> <span class=\"kt\">float64<\/span>\n<span class=\"p\">}<\/span>\n\n<span class=\"c\">\/\/ Recibimos la operaci\u00f3n y le \"agregamos los impuestos\"<\/span>\n<span class=\"k\">func<\/span> <span class=\"n\">addTaxes<\/span><span class=\"p\">(<\/span><span class=\"n\">operation<\/span> <span class=\"n\">Operation<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"n\">operation<\/span><span class=\"o\">.<\/span><span class=\"n\">Value<\/span> <span class=\"o\">+=<\/span> <span class=\"n\">operation<\/span><span class=\"o\">.<\/span><span class=\"n\">Value<\/span> <span class=\"o\">*<\/span> <span class=\"m\">0.21<\/span>\n<span class=\"p\">}<\/span>\n\n<span class=\"k\">func<\/span> <span class=\"n\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n    <span class=\"n\">operation<\/span> <span class=\"o\">:=<\/span> <span class=\"n\">Operation<\/span><span class=\"p\">{<\/span><span class=\"n\">Value<\/span><span class=\"o\">:<\/span> <span class=\"m\">100<\/span><span class=\"p\">}<\/span>\n    <span class=\"c\">\/\/ Llamamos a la funci\u00f3n que agrega los impuestos<\/span>\n    <span class=\"n\">addTaxes<\/span><span class=\"p\">(<\/span><span class=\"n\">operation<\/span><span class=\"p\">)<\/span>\n\n    <span class=\"n\">fmt<\/span><span class=\"o\">.<\/span><span class=\"n\">Printf<\/span><span class=\"p\">(<\/span><span class=\"s\">\"The total amount is: %f <\/span><span class=\"se\">\\n<\/span><span class=\"s\">\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">operation<\/span><span class=\"o\">.<\/span><span class=\"n\">Value<\/span><span class=\"p\">)<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062f\u0631 \u067e\u0627\u06cc\u0627\u0646 \u0627\u06cc\u0646 \u062a\u0627\u0628\u0639\u060c \u062a\u0634\u062e\u06cc\u0635 \u0645\u06cc\u200c\u062f\u0647\u06cc\u0645 \u06a9\u0647 \u0645\u0642\u062f\u0627\u0631 \u062a\u063a\u06cc\u06cc\u0631 \u0646\u0645\u06cc\u200c\u06a9\u0646\u062f\u060c \u0628\u0627 \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0646\u0634\u0627\u0646 \u062f\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f \u06a9\u0647 \u067e\u0627\u0633\u0627\u0698 \u0628\u0631\u0627\u0633\u0627\u0633 \u0645\u0642\u062f\u0627\u0631 \u0627\u0633\u062a.  \u062f\u0631 \u0639\u0648\u0636\u060c \u0627\u06af\u0631 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u0645 \u0645\u0642\u062f\u0627\u0631 \u0639\u0645\u0644\u06cc\u0627\u062a \u0631\u0627 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u0645\u060c \u0628\u0627\u06cc\u062f \u0627\u0634\u0627\u0631\u0647\u200c\u06af\u0631 (\u0627\u0631\u062c\u0627\u0639 \u0628\u0647 \u0633\u0627\u062e\u062a\u0627\u0631) \u0631\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u0645. <code>operation<\/code>) \u0647\u0645\u0627\u0646\u0637\u0648\u0631 \u06a9\u0647 \u062f\u0631 \u0632\u06cc\u0631 \u0645\u06cc \u0628\u06cc\u0646\u06cc\u0645:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight go\"><code><span class=\"k\">package<\/span> <span class=\"n\">main<\/span>\n\n<span class=\"k\">import<\/span> <span class=\"s\">\"fmt\"<\/span>\n\n<span class=\"k\">type<\/span> <span class=\"n\">Operation<\/span> <span class=\"k\">struct<\/span> <span class=\"p\">{<\/span>\n    <span class=\"n\">Value<\/span> <span class=\"kt\">float64<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"c\">\/\/ Ahora la funci\u00f3n recibe la referencia a una `Operation`<\/span>\n<span class=\"k\">func<\/span> <span class=\"n\">addTaxes<\/span><span class=\"p\">(<\/span><span class=\"n\">operation<\/span> <span class=\"o\">*<\/span><span class=\"n\">Operation<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"n\">operation<\/span><span class=\"o\">.<\/span><span class=\"n\">Value<\/span> <span class=\"o\">+=<\/span> <span class=\"n\">operation<\/span><span class=\"o\">.<\/span><span class=\"n\">Value<\/span> <span class=\"o\">*<\/span> <span class=\"m\">0.21<\/span>\n<span class=\"p\">}<\/span>\n\n<span class=\"k\">func<\/span> <span class=\"n\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n    <span class=\"n\">operation<\/span> <span class=\"o\">:=<\/span> <span class=\"n\">Operation<\/span><span class=\"p\">{<\/span><span class=\"n\">Value<\/span><span class=\"o\">:<\/span> <span class=\"m\">100<\/span><span class=\"p\">}<\/span>\n    <span class=\"c\">\/\/ Ahora se envia la direccion de memoria de `operation`<\/span>\n    <span class=\"n\">addTaxes<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"n\">operation<\/span><span class=\"p\">)<\/span>\n\n    <span class=\"n\">fmt<\/span><span class=\"o\">.<\/span><span class=\"n\">Printf<\/span><span class=\"p\">(<\/span><span class=\"s\">\"The total amount is: %f <\/span><span class=\"se\">\\n<\/span><span class=\"s\">\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">operation<\/span><span class=\"o\">.<\/span><span class=\"n\">Value<\/span><span class=\"p\">)<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0648\u0631\u062f \u0645\u06cc \u0628\u06cc\u0646\u06cc\u0645 \u06a9\u0647 \u0645\u0642\u062f\u0627\u0631 \u062a\u063a\u06cc\u06cc\u0631 \u0645\u06cc \u06a9\u0646\u062f \u0632\u06cc\u0631\u0627 \u0645\u0627 \u062f\u0631 \u062d\u0627\u0644 \u062a\u063a\u06cc\u06cc\u0631 \u0645\u0642\u062f\u0627\u0631 \u0645\u0631\u062c\u0639 \u0647\u0633\u062a\u06cc\u0645 \u0648 \u0646\u0647 \u06cc\u06a9 \u06a9\u067e\u06cc.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D8%A7%D8%B2_%D8%A7%D8%B4%D8%A7%D8%B1%D9%87_%DA%AF%D8%B1_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%DA%A9%D9%86%DB%8C%D8%AF_%D8%A7%D9%85%D8%A7_%D8%B3%D9%88%D8%A1_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%D9%86%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u0627\u0632 \u0627\u0634\u0627\u0631\u0647 \u06af\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f (\u0627\u0645\u0627 \u0633\u0648\u0621 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0646\u06a9\u0646\u06cc\u062f)<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<h4><span class=\"ez-toc-section\" id=\"%D8%A7%D9%BE%D8%B1%D8%A7%D8%AA%D9%88%D8%B1_%D9%88_%D8%A7%D9%BE%D8%B1%D8%A7%D8%AA%D9%88%D8%B1\"><\/span>\n<p>  \u0627\u067e\u0631\u0627\u062a\u0648\u0631 <code>*<\/code> \u0648 \u0627\u067e\u0631\u0627\u062a\u0648\u0631 <code>&amp;<\/code><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u0647\u0645\u0627\u0646\u0637\u0648\u0631 \u06a9\u0647 \u062f\u0631 \u0645\u062b\u0627\u0644 \u0642\u0628\u0644 \u062f\u06cc\u062f\u06cc\u0645\u060c \u0647\u0646\u06af\u0627\u0645 \u0628\u0631\u062e\u0648\u0631\u062f \u0628\u0627 \u0627\u0634\u0627\u0631\u0647 \u06af\u0631\u0647\u0627\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u0627\u0632 \u0646\u0645\u0627\u062f\u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u0645 <code>*<\/code> y <code>&amp;<\/code>\u0627\u0645\u0627 \u0647\u0631 \u06a9\u062f\u0627\u0645 \u0628\u0647 \u0686\u0647 \u0645\u0639\u0646\u0627\u0633\u062a\u061f <\/p>\n<p>\u0627\u067e\u0631\u0627\u062a\u0648\u0631 <code>*<\/code> \u0627\u0639\u0644\u0627\u0646 \u06cc\u06a9 \u0627\u0634\u0627\u0631\u0647 \u06af\u0631 \u0627\u0633\u062a\u060c \u0628\u0631\u0627\u06cc \u0645\u062b\u0627\u0644 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u0627\u0639\u0644\u0627\u0646 \u0632\u06cc\u0631 \u0631\u0627 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u0645:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight go\"><code><span class=\"k\">var<\/span> <span class=\"n\">operation<\/span> <span class=\"o\">*<\/span><span class=\"n\">Operation<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u0647 \u0627\u06cc\u0646 \u0645\u0639\u0646\u06cc \u06a9\u0647 \u0645\u062a\u063a\u06cc\u0631 \u0639\u0645\u0644\u06cc\u0627\u062a \u0627\u0632 \u0646\u0648\u0639 \u062e\u0648\u062f \u0627\u0633\u062a <strong>\u0646\u0634\u0627\u0646\u06af\u0631 \u0639\u0645\u0644\u06cc\u0627\u062a<\/strong>.<br \/>\u062f\u0631 \u0639\u0648\u0636\u060c \u0646\u0645\u0627\u062f <code>&amp;<\/code> \u06cc\u0639\u0646\u06cc \u0627\u0646\u062a\u0642\u0627\u0644 \u0645\u0642\u062f\u0627\u0631 \u06cc\u06a9 \u0627\u0634\u0627\u0631\u0647 \u06af\u0631 \u0645\u062a\u063a\u06cc\u0631 \u06cc\u0627 \u0645\u0642\u062f\u0627\u0631 \u062f\u0647\u06cc \u0627\u0648\u0644\u06cc\u0647 \u06cc\u06a9 \u0627\u0634\u0627\u0631\u0647 \u06af\u0631 \u0633\u0627\u062e\u062a\u0627\u0631:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight go\"><code><span class=\"c\">\/\/ Aca creamos un puntero a una nueva estructura del tipo Operation<\/span>\n<span class=\"n\">operation<\/span> <span class=\"o\">=<\/span> <span class=\"o\">&amp;<\/span><span class=\"n\">Operation<\/span><span class=\"p\">{<\/span><span class=\"n\">Value<\/span><span class=\"o\">:<\/span> <span class=\"m\">100<\/span><span class=\"p\">}<\/span>\n<span class=\"c\">\/\/ Aca pasamos la referencia, o locaci\u00f3n de memoria de la variable operation<\/span>\n<span class=\"n\">addTaxes<\/span><span class=\"p\">(<\/span><span class=\"o\">&amp;<\/span><span class=\"n\">operation<\/span><span class=\"p\">)<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06af\u0631\u0686\u0647 \u062f\u0631 \u067e\u0633\u062a \u0627\u0635\u0644\u06cc \u0645\u06cc \u06af\u0648\u06cc\u062f <\/p>\n<blockquote>\n<p>\u0627\u06af\u0631 \u062a\u0627 \u0628\u0647 \u062d\u0627\u0644 \u0628\u0647 \u0627\u06cc\u0646 \u0641\u06a9\u0631 \u06a9\u0631\u062f\u0647 \u0627\u06cc\u062f \u06a9\u0647 &#8220;\u0622\u06cc\u0627 \u0628\u0627\u06cc\u062f \u0627\u0632 \u06cc\u06a9 \u0627\u0634\u0627\u0631\u0647 \u06af\u0631 \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0645\u061f&#8221;  \u067e\u0627\u0633\u062e \u0627\u062d\u062a\u0645\u0627\u0644\u0627\u064b &#8220;\u0628\u0644\u0647&#8221; \u0627\u0633\u062a.  \u0648\u0642\u062a\u06cc \u0634\u06a9 \u062f\u0627\u0631\u06cc\u062f\u060c \u0627\u0632 \u06cc\u06a9 \u0627\u0634\u0627\u0631\u0647 \u06af\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.<\/p>\n<\/blockquote>\n<p>\u0645\u0646 \u062a\u0631\u062c\u06cc\u062d \u0645\u06cc \u062f\u0647\u0645 \u0627\u0632 \u0627\u0634\u0627\u0631\u0647 \u06af\u0631 \u067e\u0631\u0647\u06cc\u0632 \u06a9\u0646\u0645\u060c \u0627\u06cc\u0646 \u0631\u0627 \u062f\u0631 \u067e\u0633\u062a \u0628\u0639\u062f\u06cc \u062a\u0648\u0636\u06cc\u062d \u062e\u0648\u0627\u0647\u0645 \u062f\u0627\u062f \u0632\u06cc\u0631\u0627 \u067e\u0627\u0631\u0686\u0647 \u0627\u06cc \u0628\u0631\u0627\u06cc \u0628\u0631\u0634 \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"%D8%B4%D8%AC%D8%A7%D8%B9%D8%AA_nil\"><\/span>\n<p>  \u0634\u062c\u0627\u0639\u062a <code>nil<\/code><br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u0627\u0631\u0632\u0634 <code>nil<\/code> \u0645\u0642\u062f\u0627\u0631 \u0635\u0641\u0631 \u0627\u0634\u0627\u0631\u0647 \u06af\u0631\u0647\u0627 \u062f\u0631 Go \u0627\u0633\u062a \u06a9\u0647 \u06cc\u06a9\u06cc \u0627\u0632 \u062f\u0644\u0627\u06cc\u0644 \u0622\u0646 \u0627\u0633\u062a <strong>\u0648\u062d\u0634\u062a<\/strong> in go\u060c \u0632\u06cc\u0631\u0627 \u06af\u0627\u0647\u06cc \u0627\u0648\u0642\u0627\u062a \u0628\u0627 \u0627\u0634\u0627\u0631\u0647 \u06af\u0631\u0647\u0627\u06cc \u062a\u0647\u06cc \u0628\u062f\u0648\u0646 \u0639\u0644\u0627\u0645\u062a \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u06cc\u062f.  \u0627\u06cc\u0646 \u06cc\u06a9\u06cc \u0627\u0632 \u062f\u0644\u0627\u06cc\u0644\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0645\u0646 \u0633\u0639\u06cc \u0645\u06cc \u06a9\u0646\u0645 \u0627\u0632 \u0646\u0634\u0627\u0646\u06af\u0631\u0647\u0627 \u0627\u062c\u062a\u0646\u0627\u0628 \u06a9\u0646\u0645\u060c \u0632\u06cc\u0631\u0627 \u0622\u0646 \u0628\u0631\u0631\u0633\u06cc \u0642\u0628\u0644 \u0627\u0632 \u0627\u062c\u0631\u0627 \u0645\u0648\u0631\u062f \u0646\u06cc\u0627\u0632 \u0627\u0633\u062a:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight go\"><code><span class=\"c\">\/\/ `operation` es `nil`<\/span>\n<span class=\"k\">var<\/span> <span class=\"n\">operation<\/span> <span class=\"o\">*<\/span><span class=\"n\">Operation<\/span>\n<span class=\"c\">\/\/ Al no estar chequeado, en el m\u00e9todo nos arroja el panic<\/span>\n<span class=\"n\">addTaxes<\/span><span class=\"p\">(<\/span><span class=\"n\">operation<\/span><span class=\"p\">)<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0628\u0631\u0627\u06cc \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0627\u0632 \u0627\u06cc\u0646 \u0627\u0645\u0631\u060c \u0628\u0627\u06cc\u062f \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u0645 \u0648 \u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u0645 \u06a9\u0647 \u0646\u0634\u0627\u0646\u06af\u0631 \u0628\u0647 \u0635\u0648\u0631\u062a \u0632\u06cc\u0631 \u062e\u0627\u0644\u06cc \u0646\u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight go\"><code>    <span class=\"c\">\/\/ `operation` es `nil`<\/span>\n    <span class=\"k\">var<\/span> <span class=\"n\">operation<\/span> <span class=\"o\">*<\/span><span class=\"n\">Operation<\/span>\n    <span class=\"c\">\/\/ Estamos chequeando para evitar `operation == nil`<\/span>\n    <span class=\"k\">if<\/span> <span class=\"n\">operation<\/span> <span class=\"o\">!=<\/span> <span class=\"no\">nil<\/span> <span class=\"p\">{<\/span>\n        <span class=\"n\">addTaxes<\/span><span class=\"p\">(<\/span><span class=\"n\">operation<\/span><span class=\"p\">)<\/span>\n\n        <span class=\"n\">fmt<\/span><span class=\"o\">.<\/span><span class=\"n\">Printf<\/span><span class=\"p\">(<\/span><span class=\"s\">\"The total amount is: %f <\/span><span class=\"se\">\\n<\/span><span class=\"s\">\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">operation<\/span><span class=\"o\">.<\/span><span class=\"n\">Value<\/span><span class=\"p\">)<\/span>\n    <span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"%D8%A7%DB%8C%D9%86%D8%AA%D8%B1%D9%81%DB%8C%D8%B3_%D9%87%D8%A7_%D8%B1%D8%A7_%D8%AF%D8%B1_%D8%AC%D8%A7%DB%8C%DB%8C_%DA%A9%D9%87_%D8%A7%D8%B2_%D8%A2%D9%86%D9%87%D8%A7_%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87_%D8%AE%D9%88%D8%A7%D9%87%DB%8C%D8%AF_%DA%A9%D8%B1%D8%AF%D8%8C_%D8%A7%D8%B9%D9%84%D8%A7%D9%85_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u0627\u06cc\u0646\u062a\u0631\u0641\u06cc\u0633 \u0647\u0627 \u0631\u0627 \u062f\u0631 \u062c\u0627\u06cc\u06cc \u06a9\u0647 \u0627\u0632 \u0622\u0646\u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062e\u0648\u0627\u0647\u06cc\u062f \u06a9\u0631\u062f\u060c \u0627\u0639\u0644\u0627\u0645 \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0627\u06cc\u0646\u062a\u0631\u0641\u06cc\u0633 \u0647\u0627 \u062f\u0631 Golang \u0635\u0631\u06cc\u062d \u0647\u0633\u062a\u0646\u062f\u060c \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0644\u0627\u0632\u0645 \u0646\u06cc\u0633\u062a \u0627\u0639\u0644\u0627\u0645 \u06a9\u0646\u06cc\u0645 \u06a9\u0647 \u0627\u0632 \u06a9\u062c\u0627 \u06af\u0633\u062a\u0631\u0634 \u06cc\u0627\u0641\u062a\u0647 \u0627\u0646\u062f\u060c \u0628\u0647 \u0627\u06cc\u0646 \u0645\u0639\u0646\u06cc \u06a9\u0647 \u0628\u0631\u0627\u06cc \u06af\u0633\u062a\u0631\u0634 \u06cc\u06a9 \u0631\u0627\u0628\u0637\u060c \u0641\u0642\u0637 \u0628\u0627\u06cc\u062f \u0645\u062a\u062f\u0647\u0627\u06cc \u0622\u0646 \u0631\u0627 \u067e\u06cc\u0627\u062f\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0631\u062f\u060c \u0628\u06cc\u0627\u06cc\u06cc\u062f \u06cc\u06a9 \u0645\u062b\u0627\u0644 \u0631\u0627 \u0628\u0628\u06cc\u0646\u06cc\u0645:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight go\"><code><span class=\"c\">\/\/ UserRepository es el contrato que debemos cumplir<\/span>\n<span class=\"k\">type<\/span> <span class=\"n\">UserRepository<\/span> <span class=\"k\">interface<\/span> <span class=\"p\">{<\/span>\n    <span class=\"n\">FindByID<\/span><span class=\"p\">(<\/span><span class=\"n\">id<\/span> <span class=\"kt\">string<\/span><span class=\"p\">)<\/span> <span class=\"n\">User<\/span>\n    <span class=\"n\">Save<\/span><span class=\"p\">(<\/span><span class=\"n\">user<\/span> <span class=\"n\">User<\/span><span class=\"p\">)<\/span>\n<span class=\"p\">}<\/span>\n\n<span class=\"c\">\/\/ Esta ser\u00e1 nuestra estructura que herede de la interfaz,<\/span>\n<span class=\"c\">\/\/ notemos que no es necesario aclarar que extiende <\/span>\n<span class=\"c\">\/\/ de UserRepository<\/span>\n<span class=\"k\">type<\/span> <span class=\"n\">SQLUserRepository<\/span> <span class=\"k\">struct<\/span> <span class=\"p\">{<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"c\">\/\/ FindByID y Save son los m\u00e9todos que implementamos para poder extender<\/span>\n<span class=\"k\">func<\/span> <span class=\"p\">(<\/span><span class=\"n\">S<\/span> <span class=\"n\">SQLUserRepository<\/span><span class=\"p\">)<\/span> <span class=\"n\">FindByID<\/span><span class=\"p\">(<\/span><span class=\"n\">id<\/span> <span class=\"kt\">string<\/span><span class=\"p\">)<\/span> <span class=\"n\">User<\/span> <span class=\"p\">{<\/span>\n    <span class=\"nb\">panic<\/span><span class=\"p\">(<\/span><span class=\"s\">\"implement me\"<\/span><span class=\"p\">)<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"k\">func<\/span> <span class=\"p\">(<\/span><span class=\"n\">S<\/span> <span class=\"n\">SQLUserRepository<\/span><span class=\"p\">)<\/span> <span class=\"n\">Save<\/span><span class=\"p\">(<\/span><span class=\"n\">user<\/span> <span class=\"n\">User<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"nb\">panic<\/span><span class=\"p\">(<\/span><span class=\"s\">\"implement me\"<\/span><span class=\"p\">)<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u0627\u06cc\u0646 \u0631\u0627\u0647 \u0627\u06cc\u062c\u0627\u062f \u0631\u0627\u0628\u0637 \u0627\u0633\u062a\u060c \u0686\u06af\u0648\u0646\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u0645 \u0645\u0637\u0645\u0626\u0646 \u0634\u0648\u06cc\u0645 \u06a9\u0647 \u06a9\u0644\u0627\u0633 \u0645\u0627 \u0642\u0631\u0627\u0631\u062f\u0627\u062f \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u062f\u0647\u062f\u060c \u0645\u0627 2 \u06af\u0632\u06cc\u0646\u0647 \u062f\u0627\u0631\u06cc\u0645:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight go\"><code><span class=\"c\">\/\/ La primera que suelo hacer, es crear un constructor<\/span>\n<span class=\"k\">func<\/span> <span class=\"n\">NewSQL<\/span><span class=\"p\">()<\/span> <span class=\"n\">UserRepository<\/span> <span class=\"p\">{<\/span> <span class=\"c\">\/\/ \u2190 this is the line<\/span>\n    <span class=\"k\">return<\/span> <span class=\"n\">SQLUserRepository<\/span><span class=\"p\">{}<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"c\">\/\/ La segunda, es una recomendaci\u00f3n escrita en el post<\/span>\n<span class=\"k\">var<\/span> <span class=\"n\">_<\/span> <span class=\"n\">UserRepository<\/span> <span class=\"o\">=<\/span> <span class=\"p\">(<\/span><span class=\"o\">*<\/span><span class=\"n\">SQLUserRepository<\/span><span class=\"p\">)(<\/span><span class=\"no\">nil<\/span><span class=\"p\">)<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"%D8%AA%D8%B3%D8%AA_%D9%87%D8%A7%DB%8C_%D8%B1%D9%88%DB%8C_%D9%85%DB%8C%D8%B2%D9%87%D8%A7_%D8%B1%D8%A7_%D8%AA%D8%B1%D8%AC%DB%8C%D8%AD_%D8%AF%D9%87%DB%8C%D8%AF%D8%8C_%D8%A7%D9%85%D8%A7_%D8%B2%DB%8C%D8%A7%D8%AF%D9%87_%D8%B1%D9%88%DB%8C_%D9%86%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  \u062a\u0633\u062a \u0647\u0627\u06cc \u0631\u0648\u06cc \u0645\u06cc\u0632\u0647\u0627 \u0631\u0627 \u062a\u0631\u062c\u06cc\u062d \u062f\u0647\u06cc\u062f\u060c \u0627\u0645\u0627 \u0632\u06cc\u0627\u062f\u0647 \u0631\u0648\u06cc \u0646\u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u062f\u0631 \u062a\u062c\u0631\u0628\u0647 \u062e\u0648\u062f \u062f\u0631 \u062a\u0648\u0633\u0639\u0647 Golang \u0628\u0627 \u0627\u06cc\u0646 \u062a\u0633\u062a \u0647\u0627 \u0628\u0631\u062e\u0648\u0631\u062f \u06a9\u0631\u062f\u0645 \u0648 \u0645\u062c\u0628\u0648\u0631 \u0634\u062f\u0645 \u0628\u0627 \u0627\u06cc\u0646 \u062a\u0633\u062a \u0647\u0627 \u062f\u0633\u062a \u0648 \u067e\u0646\u062c\u0647 \u0646\u0631\u0645 \u06a9\u0646\u0645\u060c \u0646\u0647 \u0628\u0647 \u0627\u06cc\u0646 \u062f\u0644\u06cc\u0644 \u06a9\u0647 \u0622\u0646\u0647\u0627 \u0628\u062f \u0627\u0646\u062c\u0627\u0645 \u0634\u062f\u0647 \u0627\u0646\u062f\u060c \u0628\u0644\u06a9\u0647 \u0628\u0647 \u0627\u06cc\u0646 \u062f\u0644\u06cc\u0644 \u06a9\u0647 \u0627\u06af\u0631 \u0645\u0646\u0637\u0642 \u0631\u0648\u0634 \u0647\u0627 \u067e\u06cc\u0686\u06cc\u062f\u0647 \u0628\u0627\u0634\u062f\u060c \u062d\u0641\u0638 \u0622\u0646\u0647\u0627 \u062f\u0631 \u0637\u0648\u0644 \u0632\u0645\u0627\u0646 \u0628\u0633\u06cc\u0627\u0631 \u062f\u0634\u0648\u0627\u0631 \u0627\u0633\u062a.  \u0628\u0644\u0647\u060c \u0628\u0631\u0627\u06cc \u062a\u0633\u062a \u0648\u0631\u0648\u062f\u06cc \u0647\u0627 \u0648 \u062e\u0631\u0648\u062c\u06cc \u0647\u0627\u06cc \u062a\u0633\u062a \u0647\u0627 \u0628\u0647 \u062e\u0648\u0628\u06cc \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u0646\u062f:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight go\"><code><span class=\"k\">func<\/span> <span class=\"n\">Multiply<\/span><span class=\"p\">(<\/span><span class=\"n\">n1<\/span><span class=\"p\">,<\/span> <span class=\"n\">n2<\/span> <span class=\"kt\">int<\/span><span class=\"p\">)<\/span> <span class=\"kt\">int<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">return<\/span> <span class=\"n\">n1<\/span> <span class=\"o\">*<\/span> <span class=\"n\">n2<\/span>\n<span class=\"p\">}<\/span>\n<span class=\"c\">\/\/ Test de Multiply<\/span>\n<span class=\"k\">func<\/span> <span class=\"n\">TestMultiply<\/span><span class=\"p\">(<\/span><span class=\"n\">t<\/span> <span class=\"o\">*<\/span><span class=\"n\">testing<\/span><span class=\"o\">.<\/span><span class=\"n\">T<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"n\">cases<\/span> <span class=\"o\">:=<\/span> <span class=\"p\">[]<\/span><span class=\"k\">struct<\/span> <span class=\"p\">{<\/span>\n        <span class=\"n\">name<\/span>           <span class=\"kt\">string<\/span>\n        <span class=\"n\">n1<\/span>             <span class=\"kt\">int<\/span>\n        <span class=\"n\">n2<\/span>             <span class=\"kt\">int<\/span>\n        <span class=\"n\">expectedResult<\/span> <span class=\"kt\">int<\/span>\n    <span class=\"p\">}{<\/span>\n        <span class=\"p\">{<\/span>\n            <span class=\"n\">name<\/span><span class=\"o\">:<\/span>           <span class=\"s\">\"Multiply 2 numbers\"<\/span><span class=\"p\">,<\/span>\n            <span class=\"n\">n1<\/span><span class=\"o\">:<\/span>             <span class=\"m\">2<\/span><span class=\"p\">,<\/span>\n            <span class=\"n\">n2<\/span><span class=\"o\">:<\/span>             <span class=\"m\">4<\/span><span class=\"p\">,<\/span>\n            <span class=\"n\">expectedResult<\/span><span class=\"o\">:<\/span> <span class=\"m\">8<\/span><span class=\"p\">,<\/span>\n        <span class=\"p\">},<\/span>\n        <span class=\"p\">{<\/span>\n            <span class=\"n\">name<\/span><span class=\"o\">:<\/span>           <span class=\"s\">\"Multiply by 0\"<\/span><span class=\"p\">,<\/span>\n            <span class=\"n\">n1<\/span><span class=\"o\">:<\/span>             <span class=\"m\">0<\/span><span class=\"p\">,<\/span>\n            <span class=\"n\">n2<\/span><span class=\"o\">:<\/span>             <span class=\"m\">10<\/span><span class=\"p\">,<\/span>\n            <span class=\"n\">expectedResult<\/span><span class=\"o\">:<\/span> <span class=\"m\">0<\/span><span class=\"p\">,<\/span>\n        <span class=\"p\">},<\/span>\n    <span class=\"p\">}<\/span>\n\n    <span class=\"k\">for<\/span> <span class=\"n\">_<\/span><span class=\"p\">,<\/span> <span class=\"n\">it<\/span> <span class=\"o\">:=<\/span> <span class=\"k\">range<\/span> <span class=\"n\">cases<\/span> <span class=\"p\">{<\/span>\n        <span class=\"n\">t<\/span><span class=\"o\">.<\/span><span class=\"n\">Run<\/span><span class=\"p\">(<\/span><span class=\"n\">it<\/span><span class=\"o\">.<\/span><span class=\"n\">name<\/span><span class=\"p\">,<\/span> <span class=\"k\">func<\/span><span class=\"p\">(<\/span><span class=\"n\">t<\/span> <span class=\"o\">*<\/span><span class=\"n\">testing<\/span><span class=\"o\">.<\/span><span class=\"n\">T<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n            <span class=\"n\">result<\/span> <span class=\"o\">:=<\/span> <span class=\"n\">Multiply<\/span><span class=\"p\">(<\/span><span class=\"n\">it<\/span><span class=\"o\">.<\/span><span class=\"n\">n1<\/span><span class=\"p\">,<\/span> <span class=\"n\">it<\/span><span class=\"o\">.<\/span><span class=\"n\">n2<\/span><span class=\"p\">)<\/span>\n            <span class=\"k\">if<\/span> <span class=\"n\">result<\/span> <span class=\"o\">!=<\/span> <span class=\"n\">it<\/span><span class=\"o\">.<\/span><span class=\"n\">expectedResult<\/span> <span class=\"p\">{<\/span>\n                <span class=\"n\">t<\/span><span class=\"o\">.<\/span><span class=\"n\">Error<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Result different, it'll fail\"<\/span><span class=\"p\">)<\/span>\n                <span class=\"n\">t<\/span><span class=\"o\">.<\/span><span class=\"n\">Fail<\/span><span class=\"p\">()<\/span>\n            <span class=\"p\">}<\/span>\n        <span class=\"p\">})<\/span>\n    <span class=\"p\">}<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0635\u0648\u0631\u062a \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u06cc\u06a9 \u062a\u0633\u062a \u0633\u0627\u062f\u0647 \u0631\u0627 \u0645\u0634\u0627\u0647\u062f\u0647 \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0628\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0645\u0648\u0627\u0631\u062f\u060c \u06a9\u062f \u0622\u0646\u0642\u062f\u0631 \u062a\u063a\u06cc\u06cc\u0631 \u0646\u062e\u0648\u0627\u0647\u062f \u06a9\u0631\u062f.  \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u0645\u0648\u0627\u0631\u062f\u060c \u0645\u0646 \u0641\u06a9\u0631 \u0645\u06cc \u06a9\u0646\u0645 \u06a9\u0647 \u0622\u0646\u0647\u0627 \u0639\u0627\u0644\u06cc \u06a9\u0627\u0631 \u0645\u06cc \u06a9\u0646\u0646\u062f.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"%DA%86%D9%87_%D8%B2%D9%85%D8%A7%D9%86%DB%8C_%D8%A7%D8%B2_%D8%AC%D8%AF%D9%88%D9%84_%D8%A2%D8%B2%D9%85%D9%88%D9%86_%D8%A7%D8%AC%D8%AA%D9%86%D8%A7%D8%A8_%DA%A9%D9%86%DB%8C%D9%85%D8%9F\"><\/span>\n<p>  \u0686\u0647 \u0632\u0645\u0627\u0646\u06cc \u0627\u0632 \u062c\u062f\u0648\u0644 \u0622\u0632\u0645\u0648\u0646 \u0627\u062c\u062a\u0646\u0627\u0628 \u06a9\u0646\u06cc\u0645\u061f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u067e\u06cc\u062f\u0627 \u06a9\u0631\u062f\u0646 \u0644\u062d\u0638\u0627\u062a\u06cc \u06a9\u0647 \u0645\u06cc \u062a\u0648\u0627\u0646 \u0627\u0632 \u062c\u062f\u0627\u0648\u0644 \u062a\u0633\u062a \u0627\u062c\u062a\u0646\u0627\u0628 \u06a9\u0631\u062f \u0628\u0633\u06cc\u0627\u0631 \u0622\u0633\u0627\u0646 \u0627\u0633\u062a\u060c \u0628\u0647 \u062e\u0635\u0648\u0635 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u067e\u06cc\u0686\u06cc\u062f\u06af\u06cc \u0631\u0648\u0634 \u0632\u06cc\u0627\u062f \u0628\u0627\u0634\u062f.  \u062f\u0631 \u062a\u062c\u0631\u0628\u0647\u200c\u0627\u0645 \u0628\u0627 \u062c\u062f\u0627\u0648\u0644 \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc \u0645\u0648\u0627\u062c\u0647 \u0634\u062f\u0647\u200c\u0627\u0645 \u06a9\u0647 \u062f\u0631 \u0622\u0646\u200c\u0647\u0627 \u0639\u0646\u0627\u0635\u0631 \u0645\u0648\u0627\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u062e\u062a\u0644\u0641 \u0634\u0631\u0648\u0639 \u0628\u0647 \u062a\u0645\u0633\u062e\u0631 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f \u0648 \u0647\u0631 \u0645\u0648\u0631\u062f \u0628\u0647 \u0686\u06cc\u0632\u06cc \u0645\u062a\u0641\u0627\u0648\u062a \u0627\u0634\u0627\u0631\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f.  \u062f\u06cc\u06af\u0631 \u0628\u0627 \u0648\u0631\u0648\u062f\u06cc \u06cc\u0627 \u062e\u0631\u0648\u062c\u06cc \u06a9\u0627\u0641\u06cc \u0646\u06cc\u0633\u062a\u060c \u062d\u0627\u0644\u0627 \u0628\u0627\u06cc\u062f \u0686\u06cc\u0632 \u062f\u06cc\u06af\u0631\u06cc \u0631\u0627 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06a9\u0646\u06cc\u0645!  \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u06cc\u06a9 \u0645\u062b\u0627\u0644 \u0627\u0633\u062a \u06a9\u0647 \u0645\u0646 \u0628\u0627 \u0622\u0646 \u0628\u0631\u062e\u0648\u0631\u062f \u06a9\u0631\u062f\u0645:<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight go\"><code><span class=\"k\">func<\/span> <span class=\"n\">TestUserSaver_Execute<\/span><span class=\"p\">(<\/span><span class=\"n\">t<\/span> <span class=\"o\">*<\/span><span class=\"n\">testing<\/span><span class=\"o\">.<\/span><span class=\"n\">T<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"n\">cases<\/span> <span class=\"o\">:=<\/span> <span class=\"p\">[]<\/span><span class=\"k\">struct<\/span> <span class=\"p\">{<\/span>\n        <span class=\"n\">name<\/span>        <span class=\"kt\">string<\/span>\n        <span class=\"n\">user<\/span>        <span class=\"n\">User<\/span>\n        <span class=\"n\">saver<\/span>       <span class=\"n\">UserSaver<\/span>\n        <span class=\"n\">expectedErr<\/span> <span class=\"kt\">string<\/span>\n    <span class=\"p\">}{<\/span>\n        <span class=\"c\">\/\/...<\/span>\n    <span class=\"p\">}<\/span>\n\n    <span class=\"k\">for<\/span> <span class=\"n\">_<\/span><span class=\"p\">,<\/span> <span class=\"n\">it<\/span> <span class=\"o\">:=<\/span> <span class=\"k\">range<\/span> <span class=\"n\">cases<\/span> <span class=\"p\">{<\/span>\n        <span class=\"n\">t<\/span><span class=\"o\">.<\/span><span class=\"n\">Run<\/span><span class=\"p\">(<\/span><span class=\"n\">it<\/span><span class=\"o\">.<\/span><span class=\"n\">name<\/span><span class=\"p\">,<\/span> <span class=\"k\">func<\/span><span class=\"p\">(<\/span><span class=\"n\">t<\/span> <span class=\"o\">*<\/span><span class=\"n\">testing<\/span><span class=\"o\">.<\/span><span class=\"n\">T<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n            <span class=\"n\">err<\/span> <span class=\"o\">:=<\/span> <span class=\"n\">it<\/span><span class=\"o\">.<\/span><span class=\"n\">saver<\/span><span class=\"o\">.<\/span><span class=\"n\">Execute<\/span><span class=\"p\">(<\/span><span class=\"n\">it<\/span><span class=\"o\">.<\/span><span class=\"n\">user<\/span><span class=\"p\">)<\/span>\n            <span class=\"k\">if<\/span> <span class=\"nb\">len<\/span><span class=\"p\">(<\/span><span class=\"n\">it<\/span><span class=\"o\">.<\/span><span class=\"n\">expectedErr<\/span><span class=\"p\">)<\/span> <span class=\"o\">&gt;<\/span> <span class=\"m\">0<\/span> <span class=\"p\">{<\/span>\n                <span class=\"k\">if<\/span> <span class=\"n\">err<\/span> <span class=\"o\">!=<\/span> <span class=\"no\">nil<\/span> <span class=\"p\">{<\/span>\n                    <span class=\"k\">if<\/span> <span class=\"n\">err<\/span><span class=\"o\">.<\/span><span class=\"n\">Error<\/span><span class=\"p\">()<\/span> <span class=\"o\">!=<\/span> <span class=\"n\">it<\/span><span class=\"o\">.<\/span><span class=\"n\">expectedErr<\/span> <span class=\"p\">{<\/span>\n                        <span class=\"n\">t<\/span><span class=\"o\">.<\/span><span class=\"n\">Errorf<\/span><span class=\"p\">(<\/span><span class=\"s\">\"We expected the error: %s\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">it<\/span><span class=\"o\">.<\/span><span class=\"n\">expectedErr<\/span><span class=\"p\">)<\/span>\n                        <span class=\"n\">t<\/span><span class=\"o\">.<\/span><span class=\"n\">Fail<\/span><span class=\"p\">()<\/span>\n                    <span class=\"p\">}<\/span>\n                <span class=\"p\">}<\/span> <span class=\"k\">else<\/span> <span class=\"p\">{<\/span>\n                    <span class=\"n\">t<\/span><span class=\"o\">.<\/span><span class=\"n\">Errorf<\/span><span class=\"p\">(<\/span><span class=\"s\">\"An error was expected %s\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">it<\/span><span class=\"o\">.<\/span><span class=\"n\">expectedErr<\/span><span class=\"p\">)<\/span>\n                    <span class=\"n\">t<\/span><span class=\"o\">.<\/span><span class=\"n\">Fail<\/span><span class=\"p\">()<\/span>\n                <span class=\"p\">}<\/span>\n            <span class=\"p\">}<\/span>\n        <span class=\"p\">})<\/span>\n    <span class=\"p\">}<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0645\u0648\u0631\u062f \u0645\u0646\u0637\u0642 \u0648\u0627\u0642\u0639\u0627\u064b \u067e\u06cc\u0686\u06cc\u062f\u0647 \u0627\u0633\u062a\u060c \u0628\u0631\u0627\u06cc \u0631\u0648\u0634\u06cc \u06a9\u0647 \u0648\u0627\u0642\u0639\u0627\u064b \u0633\u0627\u062f\u0647 \u0627\u0633\u062a.  \u0627\u0632 \u0633\u0648\u06cc \u062f\u06cc\u06af\u0631\u060c \u0627\u06af\u0631 \u0645\u0648\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0647\u0645\u0686\u0646\u0627\u0646 \u0628\u0647 \u0627\u0641\u0632\u0627\u06cc\u0634 \u0648\u0627\u0628\u0633\u062a\u06af\u06cc \u062e\u0648\u062f \u0628\u0647 \u0633\u0627\u06cc\u0631 \u0627\u062c\u0632\u0627 \u0627\u062f\u0627\u0645\u0647 \u062f\u0647\u062f\u060c \u062a\u0633\u062a \u0647\u0627 \u0627\u0635\u0644\u0627\u062d \u062e\u0648\u0627\u0647\u0646\u062f \u0634\u062f.  \u062f\u0631 \u06cc\u06a9 \u0646\u0642\u0637\u0647\u060c \u0627\u06af\u0631 \u0628\u062e\u0648\u0627\u0647\u06cc\u0645 \u0627\u0634\u06a9\u0627\u0644\u06cc \u0631\u0627 \u067e\u06cc\u062f\u0627 \u06a9\u0646\u06cc\u0645\u060c \u0627\u0632 \u062a\u062c\u0631\u0628\u0647 \u062e\u0648\u062f\u0645\u060c \u0628\u0633\u06cc\u0627\u0631 \u067e\u06cc\u0686\u06cc\u062f\u0647 \u0627\u0633\u062a \u06a9\u0647 \u0628\u062a\u0648\u0627\u0646\u06cc\u0645 \u062a\u0633\u062a\u200c\u0647\u0627 \u0631\u0627 \u0628\u0641\u0647\u0645\u06cc\u0645 \u0648 \u0628\u062a\u0648\u0627\u0646\u06cc\u0645 \u0622\u0646 \u0645\u0634\u06a9\u0644 \u0631\u0627 \u0627\u0635\u0644\u0627\u062d \u06a9\u0646\u06cc\u0645.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"%D9%85%D9%86%D8%A7%D8%A8%D8%B9_%D8%A8%D8%B1%D8%A7%DB%8C_%D8%A7%D8%AF%D8%A7%D9%85%D9%87_%D8%A8%D9%87%D8%A8%D9%88%D8%AF\"><\/span>\n<p>  \u0645\u0646\u0627\u0628\u0639 \u0628\u0631\u0627\u06cc \u0627\u062f\u0627\u0645\u0647 \u0628\u0647\u0628\u0648\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0647\u0645\u0627\u0646\u0637\u0648\u0631 \u06a9\u0647 \u062f\u0631 \u067e\u0633\u062a \u0627\u0635\u0644\u06cc\u060c \u0645\u0646 \u0645\u06cc \u062e\u0648\u0627\u0647\u0645 \u06cc\u06a9\u06cc \u0627\u0632 \u0628\u0647\u062a\u0631\u06cc\u0646 \u0631\u0627\u0647\u0646\u0645\u0627\u0647\u0627 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0646\u0648\u0634\u062a\u0646 \u062a\u0648\u0635\u06cc\u0647 \u06a9\u0646\u0645:<\/p>\n<h2><span class=\"ez-toc-section\" id=\"%D9%86%D8%AA%DB%8C%D8%AC%D9%87\"><\/span>\n<p>  \u0646\u062a\u06cc\u062c\u0647<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>\u0647\u062f\u0641 \u0627\u06cc\u0646 \u067e\u0633\u062a \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc \u0627\u0633\u062a\u060c \u0648 \u0628\u0631\u0627\u06cc \u0627\u062f\u0627\u0645\u0647 \u06cc\u0627\u062f\u06af\u06cc\u0631\u06cc\u060c \u0628\u0647 \u0646\u0638\u0631 \u0645\u0646 \u0645\u0646\u0628\u0639 \u062e\u0648\u0628\u06cc \u0628\u0631\u0627\u06cc \u0628\u0647 \u0627\u0634\u062a\u0631\u0627\u06a9 \u06af\u0630\u0627\u0634\u062a\u0646 \u0628\u0627 \u0647\u0631 \u06a9\u0633\u06cc \u06a9\u0647 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u062f \u0631\u0648\u0632 \u0628\u0647 \u0631\u0648\u0632 \u0632\u0628\u0627\u0646 \u062e\u0648\u062f \u0631\u0627 \u0628\u0647\u0628\u0648\u062f \u0628\u062e\u0634\u062f\u060c \u0628\u0647 \u0646\u06a9\u0627\u062a\u06cc \u0627\u0634\u0627\u0631\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u0645\u0646 \u0628\u0627 \u0622\u0646\u0647\u0627 \u0628\u0631\u062e\u0648\u0631\u062f \u06a9\u0631\u062f\u0647\u200c\u0627\u0645 \u0648 \u0628\u0627 \u0622\u0646\u0647\u0627 \u062f\u0633\u062a \u0648 \u067e\u0646\u062c\u0647 \u0646\u0631\u0645 \u06a9\u0631\u062f\u0647\u200c\u0627\u0645. \u0628\u0631\u0627\u06cc \u0622\u0646 \u0642\u0633\u0645\u062a\u06cc \u0627\u0632 \u062a\u062c\u0631\u0628\u0647 \u0645\u0646 \u0628\u0627\u0642\u06cc \u0645\u0627\u0646\u062f\u0647 \u062f\u0631 \u0635\u0648\u0631\u062a\u06cc \u06a9\u0647 \u0628\u0647 \u06a9\u0633\u06cc \u06a9\u0645\u06a9 \u06a9\u0646\u062f.  \u0627\u06af\u0631 \u0646\u06a9\u0627\u062a \u062f\u06cc\u06af\u0631\u06cc \u0631\u0627 \u0645\u06cc \u062f\u0627\u0646\u06cc\u062f \u06a9\u0647 \u0628\u0627\u06cc\u062f \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f\u060c \u062e\u0648\u0634 \u0622\u0645\u062f\u06cc\u062f\u060c \u0627\u0632 \u0648\u0627\u06a9\u0646\u0634 \u0647\u0627\u06cc \u0634\u0645\u0627 \u0628\u0631\u0627\u06cc \u0627\u06cc\u062c\u0627\u062f \u0627\u0646\u06af\u06cc\u0632\u0647 \u0628\u0631\u0627\u06cc \u0627\u062f\u0627\u0645\u0647 \u0628\u0647 \u0627\u0634\u062a\u0631\u0627\u06a9 \u06af\u0630\u0627\u0634\u062a\u0646 \u0627\u06cc\u0646 \u062f\u0627\u0646\u0634 \u0628\u0627 \u0647\u0645\u0647 \u0627\u0647\u0627\u0644\u06cc \u062c\u0627\u0645\u0639\u0647 \u0627\u0633\u067e\u0627\u0646\u06cc\u0627\u06cc\u06cc \u062a\u0628\u0627\u0631 \u062a\u0634\u06a9\u0631 \u0645\u06cc \u06a9\u0646\u0645.<\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u0645\u0639\u0631\u0641\u06cc \u0627\u06cc\u0646 \u067e\u0633\u062a \u062a\u0631\u062c\u0645\u0647\u200c\u0627\u06cc \u0627\u0633\u062a \u0627\u0632 \u067e\u0633\u062a Write Go \u0645\u0627\u0646\u0646\u062f \u06cc\u06a9 \u0645\u0647\u0646\u062f\u0633 \u0627\u0631\u0634\u062f\u060c \u0648\u0642\u062a\u06cc \u0622\u0646 \u0631\u0627 \u062e\u0648\u0627\u0646\u062f\u0645 \u0628\u0631\u0627\u06cc\u0645 \u062c\u0627\u0644\u0628 \u0628\u0648\u062f \u06a9\u0647 \u0622\u0646 \u0631\u0627 \u0627\u0632 \u0639\u0646\u0648\u0627\u0646 \u0628\u0647 \u0627\u0634\u062a\u0631\u0627\u06a9 \u0628\u06af\u0630\u0627\u0631\u0645\u060c \u0632\u06cc\u0631\u0627 \u0647\u0646\u06af\u0627\u0645 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0646\u0648\u06cc\u0633\u06cc \u062f\u0631 Go \u0628\u0647 \u0686\u0646\u062f\u06cc\u0646 \u0646\u06a9\u062a\u0647 \u0645\u0647\u0645 \u0627\u0634\u0627\u0631\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u0639\u0645\u06cc\u0642\u200c\u062a\u0631 \u06a9\u0631\u062f\u0646 \u0622\u0646 \u062c\u0627\u0644\u0628 \u0627\u0633\u062a. \u0628\u0647 \u0627\u06cc\u0646 \u062e\u0648\u0627\u0646\u062f\u0646 \u0648 \u0646\u0638\u0631\u0627\u062a\u060c \u0645\u062b\u0644 \u0647\u0645\u06cc\u0634\u0647\u060c \u0686\u0646\u062f \u0646\u06a9\u062a\u0647 \u0631\u0627 &hellip;<\/p>\n","protected":false},"author":2,"featured_media":26549,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-26548","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/26548","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=26548"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/26548\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/26549"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=26548"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=26548"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=26548"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}